使用Python编写程序如下:
#导入OpenCV库
import cv2 as cv
#读取图像
i = cv.imread("G:\\fills\\img.png")
#显示图像
cv.imshow('demo', i)
#图像显示
cv.waitKey(0)
#销毁所有窗口
cv.destroyAllWindows()
#另存图像
cv.imwrite("G:\\fills\\img2.png", i)
C++编写程序如下:
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int artc, char** argv) {
// Mat src = imread("G:\\fills\\img.png");
Mat src = imread("G:\\fills\\img.png", IMREAD_GRAYSCALE);
//判断是否读取到了图像
if (src.empty()) {
printf("could not load image...\n");
return -1;
}
namedWindow("demo", WINDOW_AUTOSIZE);
imshow("demo", src);
waitKey(0);
return 0;
}
运行结果如下(图为我最爱的周冬雨):
以下是对各函数的详细介绍:
(1)读取图像
img = cv2.imread(文件名,[,参数])
文件名:文件地址(两个反斜杠,多一个转译的)
其中参数:
参数(1) cv2.IMREAD_UNCHANGED (图像不可变)
参数(2) cv2.IMREAD_GRAYSCALE (灰度图像)
参数(3) cv2.IMREAD_COLOR (读入彩色图像)
参数(4) cv2.COLOR_BGR2RGB (图像通道BGR转成RGB)(OpenCV色彩通道一般为BGR,需要转换为常见的RGB)
(2)显示图像
cv2.imshow(窗口名, 图像名)
(3)窗口等待
cv2.waitKey(delay)
键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入,返回值为ASCII值。
如果其参数(delay)为0,则表示无限期的等待键盘输入;参数>0表示等待delay毫秒;参数<0表示等待键盘单击。
(4)删除所有窗口
cv2.destroyAllWindows() #删除所有窗口
cv2.destroyWindows() #删除指定的窗口
(5)存储(写入)图像
retval = cv2.imwrite(文件地址, 文件名)