重要函数
python版本:
cv2.imread() 读取图像
cv2.imshow() 显示图像
cv2.waitKey() 窗口等待
cv2.namedWindow() 创建窗口
cv2.destroyAllWindows() 销毁窗口
C++ 版本
将cv.改为cv::即可
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread("F:\\L-opencv3\\picture\\j20.jfif",1)
cv2.imshow("j20",img)
k = cv2.waitKey(0)
if k==27:
cv2.destroyAllWindows()
elif k==ord('s'):
cv2.imwrite("F:\\L-opencv3\\picture\\j20-3.png",img)
cv2.destroyAllWindows()
#使用matplotlib
img = cv2.imread("F:\\L-opencv3\\picture\\j20.jfif",1)
plt.imshow(img,cmap = "gray",interpolation = 'bicubic')
plt.xticks([])
plt.yticks([])
plt.show()
#include
#include
#include
#include
using namespace std;
int main()
{
cv::Mat src = cv::imread("F:\\L-opencv3\\picture\\j20.jfif");
cv::namedWindow("Messi1", cv::WINDOW_AUTOSIZE);
cv::imshow("Messi1", src);
int k = cv::waitKey();
if (k == 27)
{
cv::destroyAllWindows();
cout << "窗口已关闭" << endl;
}
if (k == int('s'))
{
cv::imwrite("F:\\L-opencv3\\picture\\j20-4.jpg", src);
cout << "图像保存成功" << endl;
cv::destroyAllWindows();
}
return 0;
}
注意:彩色图像使用OpenCV 加时是BGR 模式。但是Matplotib 是RGB模式。所以彩色图像如果已经 OpenCV 读取,它将不会 Matplotib 正确显示。
cv2.destroyAllWindows() 可以删除任何我们建立的窗口。如果你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删的窗口名。