利用vs2019+opencv实现图片的读取、写入、显示、参数提取、图像的二值化、BGR三通道的分离
代码如下:
#include <iostream>
#include <opencv2\opencv.hpp> //更改配置管理器为x64
using namespace std;
using namespace cv;
int main()
{
Mat I1 = imread("D:\\test\\1.jpg");//读取图片
namedWindow("original", 0 );//窗口命名
resizeWindow("original", 400, 200);//窗口大小设置
moveWindow("original", 400, 200);//移动窗口
imshow("original", I1);//显示图片
imwrite("D:\\test\\tupian.jpg", I1);
cout << I1.rows << endl << I1.cols << endl << I1.channels() << endl << I1.total() << endl << I1.elemSize() << endl << I1.elemSize1() << endl;
//行数 列数 通道 点数 每个点占得字节 depth所占的字节数
Mat I2;
I2 = I1.clone();//图像的初始化
threshold(I1,I2,60,100,THRESH_BINARY);//二值化
namedWindow("二值化", 0);//窗口命名
resizeWindow("二值化", 400, 200);//窗口大小设置
moveWindow("二值化", 400, 200);//移动窗口
imshow("二值化", I2);//显示图片
Mat seperation[3];//图像数组
split(I1, seperation);//通道分离
imshow("blue", seperation[0]);//bgr
waitKey(0);
return 0;
}
效果图如下:
|