最近在看毛星云那本《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码里的字符,最好不要包含汉字,谁知道会不会以后出各种问题。

opencv学习笔记(2017年8月21日)之图像腐蚀操作相关推荐

  1. 2017年度盘点:15个最流行的GitHub机器学习项目 By 机器之心2017年12月21日 15:23 在本文中,作者列出了 2017 年 GitHub 平台上最为热门的知识库,囊括了数据科学、机

    2017年度盘点:15个最流行的GitHub机器学习项目 By 机器之心2017年12月21日 15:23 在本文中,作者列出了 2017 年 GitHub 平台上最为热门的知识库,囊括了数据科学.机 ...

  2. mongodb 安装记录 2017年11月21日

    mongodb 安装记录 问题 – 1 install window server 失败 [ 2017年11月21日 ] – 使用命令为: mongod --logpath "D:\Mong ...

  3. 2017年8月21日 星期一

    电脑没电提前上传 2017年8月21日 星期一

  4. 2017年7月21日 星期五 --出埃及记 Exodus 28:12

    2017年7月21日 星期五 --出埃及记 Exodus 28:12 and fasten them on the shoulder pieces of the ephod as memorial s ...

  5. 2017年8月21日 星期一 --出埃及记 Exodus 28:43

    2017年8月21日 星期一 --出埃及记 Exodus 28:43 Aaron and his sons must wear them whenever they enter the Tent of ...

  6. 神兽来了服务器停机维护,《梦幻西游》电脑版2017年2月21日定期维护公告

    亲爱的玩家朋友: 为保证服务器的运行稳定和服务质量,<梦幻西游>所有服务器将于2017年2月21日上午8:00停机,进行每周例行的维护工作.预计维护时间为上午8:00至9:00.如果在预定 ...

  7. OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()

    OpenCV学习笔记(七):形态学(morpholgy):腐蚀/膨胀:enrode(),dilate() 数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学基础之上 ...

  8. 数据挖掘笔记2017年3月1日-

    2017年3月1日 1.使用ggplot2进行高级绘图 1.在ggplot2中,图是采用串联起来(+)号函数创建的,每个函数属于自己的部分. library(ggplot2) ggplot(data= ...

  9. 程序猿学习笔记~2020年10月26日(数据类型与条件语句)

    Java学习日记~2020年10月26日 基本数据类型 整数类型 整数类型有byte.short.int.long.在不同位数的操作系统占用不同的字节.在64位操作系统中,它们分别占1.2.4.8个字 ...

最新文章

  1. Microbiome:南京农大团队在粘细菌捕食的生态学功能方面取得重要进展
  2. Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)
  3. 【转】解决父容器高度不跟随子元素扩大的问题
  4. GAN生成对抗网络-CGAN原理与基本实现-条件生成对抗网络04
  5. mysql使用Navicat创建分区
  6. W3C标准的理解(2015.3.7)(陆续更新中)
  7. 高级cmd攻击命令_一步一步学习DVWA渗透测试(Command Injection命令行注入)-第七次课...
  8. HTML+CSS+JS实现 ❤️仿切水果小游戏❤️
  9. 原生js实现三级联动
  10. 如何销毁一个实例化对象_基于脚本的游戏对象系统(1) 实例化、组件及生命周期...
  11. Struts2中Action各种转发类型
  12. 解决办法:NVIDIA驱动,Ubuntu16.04 用户登录界面死循环
  13. 网易云ncm转mp3
  14. 机器学习(五)——机器视觉从入门到精通只要简单这3步
  15. html创建表格没有网格线,excel里面的电子表格没有了网格线如何解决?
  16. ArcEingine——IRelationalOperator的Crosses与Overlaps
  17. 日文输入法快捷键整理
  18. 单片机继电器控制实验程序C语言,用单片机通过继电器来控制电热水器的实验...
  19. 多益网络2022届校招提前批全面启动【免筛推荐码QEAQU】
  20. 初始C语言-分支与循环语句

热门文章

  1. java基础 DK JRE JVM 关系 JDK 下载和安装
  2. 基于ODBC的MFC与sql_server2008r2连接教程和错误解决方法
  3. 总结40条常见的移动端Web页面问题及解决方案
  4. 软件生命周期模型优缺点
  5. vb.net 预生成事件获取SVN版本号,编译日期,版本日期
  6. [golang]time.After 在select中使用的正确姿势(解决超时逻辑未生效bug)
  7. seaJS 简要介绍和完整例子
  8. 在服务器上安装windows操作系统
  9. oracle 连不上 显示socket read time out
  10. Pytorch+Google BERT模型(RoBERTa+LSTM+GRU)实战