【OpenCV】imread读取数据为空

直接加配置好的props文件到新的工程时,会出现imread读出来的Mat为空的情形,搜了一下,发现是opencv的配置问题!!!

是这样的,之前配置时为了省事儿,无论是Debug还是Release中的附加依赖项,都添加了所有的lib,也就是没有分Debug和Release。

但实际上OpenCv是要分的,文件名尾带d的为Debug库函数,不带d的为Release库函数。只需将其中库函数分开添加进附加依赖项即可:

其他版本以此类推。

Debug库:

opencv_calib3d244d.lib
opencv_contrib244d.lib
opencv_core244d.lib
opencv_features2d244d.lib
opencv_flann244d.lib
opencv_gpu244d.lib
opencv_highgui244d.lib
opencv_imgproc244d.lib
opencv_legacy244d.lib
opencv_ml244d.lib
opencv_nonfree244d.lib
opencv_objdetect244d.lib
opencv_photo244d.lib
opencv_stitching244d.lib
opencv_ts244d.lib
opencv_video244d.lib
opencv_videostab244d.lib

Release库:

opencv_calib3d244.lib
opencv_contrib244.lib
opencv_core244.lib
opencv_features2d244.lib
opencv_flann244.lib
opencv_gpu244.lib
opencv_highgui244.lib
opencv_imgproc244.lib
opencv_legacy244.lib
opencv_ml244.lib
opencv_nonfree244.lib
opencv_objdetect244.lib
opencv_photo244.lib
opencv_stitching244.lib
opencv_ts244.lib
opencv_video244.lib
opencv_videostab244.lib

这样修改后,发现还是不行,为什么呢?后来发现还跟平台有关系,不能多添加x86的平台

解决之后发现就可以读图啦~

时间: 2024-12-09 18:03:39

【OpenCV】imread读取数据为空的相关文章

【转】OpenCV—imread读取数据为空

之前遇到一个很郁闷的问题,因为从用OpenCV2.3.1改成OpenCV2.4.4,开始改用Mat和imread来代替Iplimage和cvLoadImage,出了点小问题:imread读入数据总是为空. 程序为: 1 Mat image = imread ("lena.jpg"); 2 imshow("lena",image); 3 cvWaitKey(0); 刚开始以为是路径的问题,后来偶然采用Iplimage获取图像,可以很好的读取图片: 1 IplImage

OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常

问题如上.环境:VS2013. 代码如下: #include "stdafx.h" #include "opencv2\opencv.hpp" using namespace cv; int _tmain(int argc,_TCHAR* argv[]) { Mat image=imread("read1.PNG"); namedWindow("My Image"); imshow("My Image",i

解决linux crontab PHP fgetcsv 读取中文数据为空问题

公司一台服务器每天定时拉取媒体报告数据,发现每次获取的中文数据为空,发现下载下来的csv文件中文是正常的,手动再次执行一次发现是正常的 现在发现linux的默认地区是 "en_US.UTF-8",于是使用 : setlocale(LC_ALL, 'zh_CN.UTF-8'); 将当前脚本的地区编码设置为 zh_CN.UTF-8,在脚本结束的地方加上: setlocale(LC_ALL,NULL); 还原linux默认的地区设置

Opencv 图像读取与保存问题

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/49737357 本文仅对 Opencv图像读取与保存进行阐述,重在探讨图像读取与保存过程中应注意的细节问题. 1 图像读取 首先看一下,imread函数的声明: // C++: Mat based Mat imread(const string& filename, int flags=1 ); // C: IplImage based

TensorFlow学习笔记(6)读取数据

Overview    之前几次推送的全部例程,使用的都是tensorflow预处理过的数据集,直接载入即可.例如: 然而实际中我们使用的通常不会是这种超级经典的数据集,如果我们有一组图像存储在磁盘上面,如何以mini-batch的形式把它们读取进来然后高效的送进网络训练?这次推送我们首先用tensorflow最底层的API处理这个问题,后面推送介绍高层API.高层API是对底层的进一步封装,用户可以不必关心过多细节.不过了解一下比较底层的API还是有好处的.当你有一组自己的数据的时候,你需要经

TensorFlow高效读取数据的方法——TFRecord的学习

关于TensorFlow读取数据,官网给出了三种方法: 供给数据(Feeding):在TensorFlow程序运行的每一步,让python代码来供给数据. 从文件读取数据:在TensorFlow图的起始,让一个输入管线从文件中读取数据. 预加载数据:在TensorFlow图中定义常量或变量来保存所有数据(仅适用于数据量比较小的情况). 对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练(tip:使用这种方法时,结合yeild 使用更为简洁).但是如果数据量较

tensorflowxun训练自己的数据集之从tfrecords读取数据

当训练数据量较小时,采用直接读取文件的方式,当训练数据量非常大时,直接读取文件的方式太耗内存,这时应采用高效的读取方法,读取tfrecords文件,这其实是一种二进制文件.tensorflow为其内置了各种存储和读取的函数,方便调用. 不知道为啥,从tfrecords中读取数据用于训练时,收敛得更快,更平稳.上面两个图是使用tfrecords的准确率和loss值变化,下面是直接读取文件的准确率和loss值变化. 1 生成记录样本的记录文件 1 root_dir = os.getcwd() 2 3

FileInputStream利用缓冲数组读取数据

package cd.itcast.fileinputstream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Demo1 { public static void main(String[] args) throws IOException { //目标文件 File fil

基本数据持久性(一) 使用plist保存和读取数据

想保存成绩.记录得分.保存账号密码等等?数据持久性可以做到这一点!这篇文章通过简单的程序,来分享一下如何使用plist来保存和读取数据,以供大家参考学习. 一.程序的主要功能 1. xib文件如图1所示. 图 1 2. 通过“保存”按钮将4个textField(ID.Name.Age.Class后面的输入框)的内容保存到plist文件中. 3.通过“读取”按钮将plist中的内容分别读取到4个textField中. 二.实现步骤 1.先创建一个Single ViewController的视图,命