opencv如何读入图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv如何读入图片相关的知识,希望对你有一定的参考价值。

我是菜鸟~

1、首先新建一个VC++控制台项目如下图所示。本文项目名称helloOpenCV。

2、在项目上右击->属性,如下图窗口所示,选择配置属性->链接器->输入,在右侧配置附加依赖项。

3、在附加依赖项中添加以下依赖项(可以根据实际需求调整,注意243为对应的版本号,如果是2.3.1版本243对应换成231):

opencv_calib3d243d.lib 
opencv_contrib243d.lib 
opencv_core243d.lib 
opencv_features2d243d.lib 
opencv_flann243d.lib 
opencv_gpu243d.lib 
opencv_highgui243d.lib 
opencv_imgproc243d.lib 
opencv_legacy243d.lib 
opencv_ml243d.lib 
opencv_objdetect243d.lib 
opencv_ts243d.lib 
opencv_video243d.lib

如下图所示。

4、在主文件中添加如下代码:

#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char* argv[])

   const char* imagename = "emosue.jpg";

   //从文件中读入图像
   Mat img = imread(imagename);

   //如果读入图像失败
   if(img.empty())
   
       fprintf(stderr, "Can not load image %s\\n", imagename);
       return -1;
   

   //显示图像
   imshow("image", img);

   //此函数等待按键,按键盘任意键就返回
   waitKey();

   return 0;

参考技术A cvLoadImage()函数就是用于读入一个图像的。括号里面写图像的路径。追问

恩恩,OPENCV书上第一个程上就有这个这个函数,我是发现我的CMD有点问题,打不开图片。是这样说的,"不是内部或外部命令,也不是可运行的程序或批处理的文件。"你知道是怎么回事吗?谢谢谢谢了~!!!

参考技术B 这个关CMD啥事,,"不是内部或外部命令,也不是可运行的程序或批处理的文件。"打开系统属性中的环境变量,看看PATH是不是乱码或者没有C:\windows\system32,如果没有,加上就可以了
关于读图片,楼上的回答就是了追问

嗯,我知道这个跟Cmd没有关心了。只是PATH既没有乱码,也有system32.可是还是用Cmd打不开图片

参考技术C cvLoadImage追问

恩恩,OPENCV书上第一个程上就有这个这个函数,我是发现我的CMD有点问题,打不开图片。是这样说的,"不是内部或外部命令,也不是可运行的程序或批处理的文件。"你知道是怎么回事吗?谢谢谢谢了~!!!

追答

如果想在CMD里打开,写函数的时候得用到命令行参数,编译链接生成.exe文件后在cmd下运行,带上正确的参数。

参考技术D cvLoadImage,是1.*版本的,2.*使用imread

以上是关于opencv如何读入图片的主要内容,如果未能解决你的问题,请参考以下文章

opencv如何批量读取文件夹中图片

OpenCV之cv2函数 2

MFC中如何在一个picture 控件中显示一张opencv读入的图片?

opencv- python使用

OpenCV模块

python中使用OpenCV处理图片