opencv学习笔记(2017年8月21日)之图像腐蚀操作
来源:互联网 发布:大数据涂子沛pdf 编辑:程序博客网 时间:2024/06/05 23:52
最近在看毛星云那本《opencv3编程入门》,但是那本书配套代码,老是在我的vs2017和opencv3.3.0版本里编译出错,一直不知道什么原因,就是图片老是显示灰色,且闪退。不是图片路径读不出来的问题,源代码如下:
运行不成功的代码:
//--------------------------------------【程序说明】-------------------------------------------// 程序说明:《OpenCV3编程入门》OpenCV3版书本配套示例程序03// 程序描述:简单的OpenCV图像腐蚀操作// 开发测试所用操作系统: Windows 7 64bit// 开发测试所用IDE版本:Visual Studio 2010// 开发测试所用OpenCV版本: 3.0 beta// 2014年11月 Created by @浅墨_毛星云// 2014年11月 Revised by @浅墨_毛星云//------------------------------------------------------------------------------------------------//-----------------------------------【头文件包含部分】---------------------------------------// 描述:包含程序所依赖的头文件//---------------------------------------------------------------------------------------------- #include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>//-----------------------------------【命名空间声明部分】---------------------------------------// 描述:包含程序所使用的命名空间//----------------------------------------------------------------------------------------------- using namespace cv;//-----------------------------------【main( )函数】--------------------------------------------// 描述:控制台应用程序的入口函数,我们的程序从这里开始//-----------------------------------------------------------------------------------------------int main( ){ //载入原图 Mat srcImage = imread("1.jpg"); //显示原图 imshow("【原图】腐蚀操作", srcImage); //进行腐蚀操作 Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); Mat dstImage; erode(srcImage, dstImage, element); //显示效果图 imshow("【效果图】腐蚀操作", dstImage); waitKey(0); return 0;}
然后,我便在网上重新找了一段代码,竟然编译运行成功了,如下图
这是我找到的代码:
运行成功的代码
#include "cv.h" // OpenCV 文件头#include "highgui.h"#include "cvaux.h"#include "cxcore.h"#include "opencv2/opencv.hpp"#include "opencv2/imgproc.hpp"#include <iostream>#include <string>#include "stdafx.h"using namespace cv;using namespace std;int main(int argc, char *argv[]){ Mat m_SrcImg; //m_SrcImg = imread("C:\\Users\\lidabao\\Desktop\\Lena.bmp"); m_SrcImg = imread("D:\\OpenCVproject\\8_21_2\\main\\main\\1.jpg"); namedWindow("yuantu", 1); imshow("yuantu", m_SrcImg); //获取自定义核 Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); Mat m_ResImg; //进行腐蚀操作 erode(m_SrcImg, m_ResImg, element); namedWindow("fushihou", 1); imshow("fushihou", m_ResImg); waitKey(0);}
这两个程序一些头文件不同,还有读取时后面代码采用了绝对读取图片的方式。还有就是汉字乱码的问题,在我改成拼音后,运行是成功了,现在我还是有些疑惑的,是不是vs2017对汉字编码存在些bug。
还有最后提醒一下,新建项目最好用英文等ASCII码里的字符,最好不要包含汉字,谁知道会不会以后出各种问题。
阅读全文
0 0
- opencv学习笔记(2017年8月21日)之图像腐蚀操作
- OpenCV(学习笔记3)-图像腐蚀
- opencv学习笔记(十)-图像腐蚀与腐蚀
- [学习opencv]图像腐蚀、膨胀、开闭操作
- OpenCV学习笔记四(2016年12月5日)选取图像局部区域
- OpenCv之图像腐蚀
- OpenCV简单操作-图像腐蚀
- 学习openCV笔记 (8月29日)
- 学习【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀----思维导图笔记
- opencv之图像的腐蚀
- opencv入门学习第一章,对图像基本的操作(图像腐蚀、图像模糊、canny图像边缘检测)
- OpenCV学习笔记(三):腐蚀
- opencv学习笔记(十一)——图像腐蚀和膨胀混合运用练习
- OpenCV 3学习笔记(二) 图像的显示、腐蚀与模糊
- OpenCV学习笔记五(2016年12月5日)Opencv基本架构分析
- OpenCV学习笔记-形态学操作-腐蚀膨胀-开闭运算
- OpenCV学习笔记(六) 滤波器 形态学操作(腐蚀、膨胀等)
- OpenCV学习笔记(4):膨胀,腐蚀,开闭操作(argc,argv)
- 设计模式之观察者模式
- poj 1006 中国剩余定理
- 关于iOS禁止输入表情符号
- 2144-图结构练习——最小生成树
- 欢迎使用CSDN-markdown编辑器
- opencv学习笔记(2017年8月21日)之图像腐蚀操作
- Python3之subprocess模块
- 实验室论文作图,绘制粒子点
- vector<string>转为vector<int>
- Binder
- 洛谷1855 榨取kkksc03
- 从相册选择图片回传
- Web应用的中文乱码现象的解决方法
- ViewController 生命周期