Opencv3学习笔记(C++&Python双语)---图像显示与保存

重要函数

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(),在括号内输入你想删的窗口名。

 

你可能感兴趣的:(opencv,计算机视觉,图像识别,c++)