c++imread 函数_OpenCV中C++函数imread读取图片的问题及解决方法
今天在用OpenCV实验Image Pyramid的时候发现一个奇怪的问题,就是利用C++函数imread读取图片的时候返回的结果总是空,而利用C函数cvLoadImage时却能读取到图像。代码如下:
//环境:VS2010 + OpenCV 2.3.1
#include "stdafx.h"
#include
#include
#include
#include
#include
using namespace cv;
Mat src, dst, tmp;
char* window_name = "Pyramids Demo";
int _tmain(int argc, _TCHAR* argv[])
{
printf("\n Zoom In-Out demo \n");
printf("-------------------- \n");
printf("*[u]-> Zoom in \n");
printf("*[d]-> Zoom out \n");
printf("*[ESC]-> Close program \n\n");
src = imread("D:\\fruits.jpg");
if(!src.data)
{
printf("No data!--Exiting the program \n");
return -1;
}
tmp = src;
dst = tmp;
namedWindow(window_name,CV_WINDOW_AUTOSIZE);
imshow(window_name,dst);
while(true)
{
int c;
c = waitKey(10);
if((char)c == 27)
{
break;
}
if((char)c == 'u')
{
pyrUp(tmp,dst,Size(tmp.cols * 2,tmp.rows * 2));
printf("** Zoom In:Image x 2\n");
}
else if((char)c == 'd')
{
pyrDown(tmp,dst,Size(tmp.cols / 2,tmp.rows / 2));
printf("**Zoom Out:Image / 2\n");
}
imshow(window_name,dst);
tmp = dst;
}
return 0;
}
程序很简单,就是直接调用Imgproc中的两个C++函数pyrUp和pyrDown来实现图像金字塔,程序的详细解释可参见//www.jb51.net/article/108378.htm。但在实现的过程中发现imread始终读取不了图像数据和cvLoadImage却可以。几经考证,发现的确是由于库关联的问题。也就是在Debug模式下应该选择带'd'的lib,在Release模式下就选择不带'd'的lib。而实际我们在配置OpenCV环境的时候往往图方便将Debug和Release的目录都一起加了进去,再修改起来也比较麻烦。所以这时候最简单的办法就是在程序的开始加上:
#pragma comment(lib,"opencv_highgui231d.lib")
来告诉程序将采用Debug版本的库函数。
实验结果如下:
以上所述是小编给大家介绍的OpenCV中C++函数imread读取图片的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
本文标题: OpenCV中C++函数imread读取图片的问题及解决方法
本文地址: http://www.cppcns.com/ruanjian/c/182066.html
c++imread 函数_OpenCV中C++函数imread读取图片的问题及解决方法相关推荐
- html中text函数,Excel中text函数的使用方法
说到Excel,相信大家都再熟悉不过了,但说到Excel中text函数的使用方法,可能很多人都不太熟悉,下面随学习啦小编一起看看吧. Excel中text函数的使用方法 首先解释一下text函数的基本 ...
- linux 内核 fget,fgets函数 linux中fgets函数怎么用
一个函数该如何使用?我们最先要了解的就是这个函数的语法以及具体的含义是什么,所以今天我们就来看一看fgets函数在实际的运用过程当中是如何使用的,希望能给大家带来一定的帮助. fgets函数--lin ...
- mysql中sign函数_Oracle中sign函数和decode函数的使用
在逻辑编程中,经常用到If ndash; Then ndash;Else 进行逻辑判断.在DECODE的语法中,实际上就是这样的逻辑处理过程.它的语法 1.比较大小函数SIGN sign(x)或者Si ...
- php 正则报错,PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析...
本文实例讲述了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法.分享给大家供大家参考,具体如下: 环境错误级别:error ...
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...
- mysql5.7.20 sql mode_MySQL5.7中的sql_mode默认值带来的坑及解决方法
在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode optimizer_switch 本文主要内容是M ...
- python中json与str转换和出现KeyError的解决方法
python中json与str转换和出现KeyError的解决方法 json转str str转json KeyError的解决方法 json转str json格式的数据其实就是dict类型的数据,如图 ...
- hp打印机无法与计算机,电脑中安装HP打印机后重启无法打印的解决方法
电脑中安装HP打印机后重启无法打印怎么办?近来不少朋友都向小编咨询了这个问题.HP有一个型号重启以后无法打印,今天系统城小编就要在这里给大家介绍一个方法可以解决这个问题. 具体方法如下: 1.这是第一 ...
- Dockerfile中npm中Error: could not get uid/gid问题的解决方法
Dockerfile中npm中Error: could not get uid/gid问题的解决方法 参考文章: (1)Dockerfile中npm中Error: could not get uid/ ...
最新文章
- 寒冬 winter:代码无捷径,只怕有心人
- 揭露男生的真实心理年龄测试软件,心理年龄测试
- LeetCode 2176. 统计数组中相等且可以被整除的数对
- 双系统引导修复失败进不了系统_教你安装双系统,win7+win10
- 比尔·盖茨录视频祝大家“新春快乐
- PyCharm: Simplify chained comparison
- Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
- Docker视频教程 之 熟悉docker-machine及docker常用命令 - 知识林
- Ignite-初识Ignite
- Cadence Orcad Capture主要工作窗口介绍
- 【数学建模】基于matlab GUI平行停车模拟仿真【含Matlab源码 1877期】
- 高级产品经理十八种能力
- 数据脱敏为何如此重要?
- 新东方老师谈如何学英语
- 私有文件服务器,私有云文件服务器
- SwitchyOmega使用
- PHP 简单案例[3]
- 元宇宙之NFT行业分析:中国数字藏品行业有望走向规范化、差异化
- Scrapy Python爬虫实战:抓取知乎问题下所有回答!
- 网络攻击图系统的设计与实现 文档+PPT+代码程序
热门文章
- Web前端开发精品课HTML CSS JavaScript基础教程CSS部分知识点总结
- 【FFMPEG】基于RTP的H264视频数据打包解包类
- 尚硅谷MySQL课后练习题笔记
- 自用PTA题目记录0025
- 刀钝石上磨,人钝世上磨!
- 熟悉VBA 但是不熟悉 xlwings 怎么办,可以调用 api 操作,如 xlwings 取消自动换行,xlwings选中某一列,xlwings获取最大行号,行标,最大列号,列标等等
- java中abstract是什么_java关键字abstract
- 华为测试岗,却因为这个原因被刷了...
- 半导体视觉检测设备的应用
- 通达进销存管理系统操作说明书