读取一个图片文件,显示在一个窗口(opencv生成的)
//下面3行 增加在CPP头部
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
using namespace cv;
//下面的代码添加在功能需要的地方,这个窗口和windows程序的窗口不一样,只是一个简单的将图片显示在一个独立的窗口。
//菜单、按钮响应功能都可以
Mat matPic; //声明一个Mat类
matPic = imread("mypic.jpeg",1); //读取一个图片文件
namedWindow(WND_NAME, WINDOW_AUTOSIZE); //WND_NAME 定义个一个窗口名称 #define WND_NAME MyPicWND
imshow(WND_NAME, matMyPic);
// imshow函数有这样一句说明: If the window was not created before this function, it is assumed creating a window with cv::WINDOW_AUTOSIZE. [据该函数的说明,前一行代码不要也可以 显示图片在 该函数命名的窗口。] .
//编译、调试、执行报错N次,主要问题:
1、包含文件目录到 ......\build\include 深度就好,不要到 opencv.hpp所在的目录深度即 ......\build\include\opencv2,被使用的 opencv.hpp 头文件有 #including <opencv2/core.hpp> 将找不到这个文件,整个文件体系都是 从 include目录开始的。否则,你需要修改opencv官方给的头文件内容。
2、库文件目录,设置到 lib,里面应该有2个文件基本相同的 *.lib , *d.lib 的文件。设定到所在目录即可。
3、编译连接器也应当知晓前面那个库的位置,以便链接生成。
4、编译器需要 附加项 的位置,opencv\build\x64\vc16\bin,这里有两个lib文件,*.lib 和 *d.lib ,一个对应用于Release,一个用于Debug。一定要对应设置,否则编译不报错,执行时报错,调试都找不到错误原因。我这里是调试和执行时,std::alloc ( ) 错误,找了老半天。
5、缺少运行库,执行时报错。我这里是:“ 由于找不到vcruntime140_1D.dll,无法继续执行代码。重新安装程序可能会解决此问题 ”。 建议从 下载拷贝到 C:\WINDOWS\SYSTEM32 目录下面。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端