我是靠谱客的博主 细心爆米花,最近开发中收集的这篇文章主要介绍笔记:OpenCV4.5.4 【c++】图像读取与显示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题一:无法读取头文件,链接器连接错了,应该是opencv_world454d.lib

问题二:图片无法显示。第一个原因是直接复制了地址,D:opencv2,正确的是D:/opencv/2

第二个原因是没有写图片名称和图片类型,所以最后正确的是D:/opencv/2/a.jpg

 问题三:图片一闪而过。原因在于waitKey();

          如果写为waitKey(10);     代表的意思是图片显示10毫秒,然后继续执行下面的语句。

          如果写为waitKey(0);       代表程序执行到这句话停止。

代码:

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
	Mat src = imread("D:/opencv/2/a.jpg");  //把图像保存到src里
	imshow("input", src);     //imshow 将图片读取出来,“input”为窗口名称
	waitKey(0);
	return 0;
}

笔记:

1.imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型。(Mat一般为二维的数组)

支持常见的三个参数值:

IMREAD_UNCHANGED (<0) 表示加载原图,不做任何改变(一般默认为加载原图) 

IMREAD_GRAYSCALE ( 0)表示把原图作为灰度图像加载进来

IMREAD_COLOR (>0) 表示把原图作为RGB图像加载进来

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
	Mat src = imread("D:/opencv/2/a.jpg",IMREAD_GRAYSCALE);//把图片显示为灰度照片
	imshow("input", src);
	waitKey(0);
	return 0;
}

 2.

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
	Mat src = imread("D:/opencv/2/a.jpg",IMREAD_GRAYSCALE);//输出灰度



	if (src.empty())
	{
		printf("could not load image...n");
			return 0;
	}                                              //如果是空白的(为空)输出...
        

                                                
	namedWindow("input", WINDOW_FREERATIO); 

      //一张图片如果过大,没有办法完全显示出来
      //上面这句话就可以解决

	imshow("input", src);
	waitKey(0);


	//destoryAllWindows();对前面创建的所以项目清空
    //上面这句话,我会报错,但写不写目前并不会影响程序的运行

	return 0;
}

namedWindos功能是创建一个OpenCV窗口,它是由OpenCV自动创建与释放,你无需取销毁它。 常见用法namedWindow("Window Title", WINDOW_AUTOSIZE)

WINDOW_AUTOSIZE会自动根据图像大小,显示窗口大小,不能人为改变窗口大小

WINDOW_FREERATIO会自动根据图像大小,显示窗口大小。两者有什么区别不清楚。

WINDOW_NORMAL,跟QT集成的时候会使用,允许修改窗口大小。

imshow根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口名称,第二参数是Mat对象

最后

以上就是细心爆米花为你收集整理的笔记:OpenCV4.5.4 【c++】图像读取与显示的全部内容,希望文章能够帮你解决笔记:OpenCV4.5.4 【c++】图像读取与显示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部