图像的载入,显示和保存

载入:

首先要声明一个表示图像的变量,在OpenCV2中,这个变量是cv::Mat类型的:


cv:;Mat image;


这句话将创建宽和高都是0的图像,可以通过cv::Mat的size()方法进行验证:


std::cout<<"size:"<<image.size().width<<","<<image.size().height<<std::endl;


声明变量之后,要进行文件的读取,解码和内存的分配:


image=cv::imread("img.jpg");


"" 内是图片的路径。可以通过image.data检查图像是否正确读入


if(!image.data)

{

//图像读入出错

}


此处的data是image 对象的成员变量,它是指向已分配的内存块的指针,该内存块存储图像数据。如果指定路径无图像等,data被简单设置为0。


显示

首先定义一个要进行图像显示的窗口,然后指定要显示的图像即可。OpenCV的highgui模块实现了该功能。


cv::namedWindows("Oringinal Image");  //定义窗口

cv::imshow("Oringinal Image",image);    //显示图像


一些图像处理的操作

图像读入内存,可以进行一些图像处理操作。如将图像反转。

cv::flip(image,image,1);  //1 表示水平反转

    //0 表示垂直反转

                                            //负数表示既有水平也有垂直反转

这是在原地对图像进行反转操作,也可以创建一个新的矩阵用来存储处理后的图像:

cv::Mat dst;

cv::flip(image,flip,1);


使用cv::waitKey(0);在程序退出前,等待用户的输入。便于用户观察程序处理的结果。


保存

通过highgui模块提供的imwirte()方法,实现图像的保存

cv::imwrite("output.jpg",dst);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值