首先声明一下 ,博主是个计算机视觉新人。目前在学习OPENCV中,会犯一些低级错误,仅记录留给后面和我一样天生愚钝又想学习新知识的人作为参考
问题1. OpenCV(3.4.1) Error: Unspecified error (could not find a writer for the specified extension) in cv::imwrite_, file C:\build\master_winpack-build-win64-vc15\opencv\modules\imgcodecs\src\loadsave.cpp, line 678
这个错误是楼主在使用IMWRITE的时候因为没有加后缀造成的,
imwrite("带透明通道的图片.png", mat, compression_oarams);
namedWindow("生成的PNG图像");
imshow("生成的PNG图像", mat);
fprintf(stdout, "png图片文件的阿尔法数据保存完毕可在工程目录查看");
waitKey(0);
红色不分一定要记得加上。
问题2 在使用sprintf(); 函数时 , VS2017出现安全报错
error C4996: ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
需要处理的方法是:
右键工程名–>属性–>C/C++–>预处理器–>预处理器定义,编辑右边输入框加入:
_CRT_SECURE_NO_WARNINGS
问题3 在鼠标的基本操作中绘制自定义矩形函数 rectangle(); 第一个参数IMG 报错 ,显示参数类型不正确
解决方案如下:
在#include那边 引入一个"opencv2/imgproc.hpp" 如:
#include "stdafx.h"
#include "opencv2/imgproc.hpp"
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>