#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv; int main(int argc, char** argv) {
Mat src, dst;
src = imread("E:/opencv3.2/TestOpenCVInstall/Debug/Test.jpg");
if (!src.data) {
printf("could not load image...\n");
return -;
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src); //medianBlur(src, dst, 3);
bilateralFilter(src, dst, , , );
namedWindow("BiBlur Filter Result", CV_WINDOW_AUTOSIZE);
imshow("BiBlur Filter Result", dst); Mat resultImg;
Mat kernel = (Mat_<int>(, ) << , -, , -, , -, , -, );
filter2D(dst, resultImg, -, kernel, Point(-, -), );
imshow("Final Result", resultImg); waitKey();
return ; }

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv; Mat src, dst;
char OUTPUT_WIN[] = "output image";
int element_size = ;
int max_size = ;
void CallBack_Demo(int, void*);
int main(int argc, char** argv) { src = imread("E:/opencv3.2/TestOpenCVInstall/Debug/Test.jpg");
if (!src.data) {
printf("could not load image...\n");
return -;
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src); namedWindow(OUTPUT_WIN, CV_WINDOW_AUTOSIZE);
createTrackbar("Element Size :", OUTPUT_WIN, &element_size, max_size, CallBack_Demo);
CallBack_Demo(, ); waitKey();
return ;
} void CallBack_Demo(int, void*) {
int s = element_size * + ;
Mat structureElement = getStructuringElement(MORPH_RECT, Size(s, s), Point(-, -));
dilate(src, dst, structureElement, Point(-, -), );
// erode(src, dst, structureElement);
imshow(OUTPUT_WIN, dst);
return;
}

#include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h> using namespace cv;
int main(int argc, char** argv) {
Mat src, dst;
src = imread("E:/opencv3.2/TestOpenCVInstall/Debug/openclose.png");
if (!src.data) {
printf("could not load image...\n");
}
namedWindow("input image", CV_WINDOW_AUTOSIZE);
imshow("input image", src);
char output_title[] = "morphology demo";
namedWindow(output_title, CV_WINDOW_AUTOSIZE); Mat kernel = getStructuringElement(MORPH_RECT, Size(, ), Point(-, -));
morphologyEx(src, dst, CV_MOP_OPEN, kernel); //开操作
/*morphologyEx(src, dst, CV_MOP_BLACKHAT, kernel);*/ //morphologyEx(src, dst, CV_MOP_TOPHAT, kernel);
imshow(output_title, dst); waitKey();
return ;
}

opencv 双边模糊,膨胀腐蚀 开 闭操作的更多相关文章

  1. python实现开闭操作

    目录: 开闭操作的作用 (一)开操作 (二)闭操作 (三)开操作完成其他任务 (1)提取水平垂直线 (2)消除干扰线 (3)提取满足要求的形状 开闭操作的作用: (一)开操作(特点作用:消除噪点--- ...

  2. OpenCV笔记(2)(高斯平滑、腐蚀和膨胀、开闭运算、礼帽和黑帽、Sobel及其他算子)

    一.高斯平滑(模糊) def gaussian_blur(image): # 设置ksize来确定模糊效果 img = cv.GaussianBlur(image, (5, 5), 0) cv.ims ...

  3. OpenCV计算机视觉学习(5)——形态学处理(腐蚀膨胀,开闭运算,礼帽黑帽,边缘检测)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 形态 ...

  4. OpenCV3编程入门笔记(4)腐蚀、膨胀、开闭运算、漫水填充、金字塔、阈值化、霍夫变换

    腐蚀erode.膨胀dilate 腐蚀和膨胀是针对图像中的白色部分(高亮部分)而言的,不是黑色的.除了输入输出图像外,还需传入模板算子element,opencv中有三种可以选择:矩形MORPH_RE ...

  5. opencv:形态学操作-开闭操作

    #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace st ...

  6. OpenCV图像处理篇之腐蚀与膨胀

    转载请注明出处:http://xiahouzuoxin.github.io/notes 腐蚀与膨胀 腐蚀和膨胀是图像的形态学处理中最主要的操作,之后遇见的开操作和闭操作都是腐蚀和膨胀操作的结合运算. ...

  7. C++ Opencv 自写函数实现膨胀腐蚀处理

    一.膨胀腐蚀学习笔记 二.代码及结果分享 #include <opencv2/opencv.hpp> #include <iostream> using namespace s ...

  8. opencv学习之路(16)、膨胀腐蚀应用之走迷宫

    一.分析 贴出应用图片以供直观了解 红色部分,因图而异(某些参数,根据图片的不同需要进行相应的修改) 二.代码 #include "opencv2/opencv.hpp" #inc ...

  9. opencv学习之路(14)、形态学之膨胀腐蚀

    一.膨胀腐蚀概述(对高亮部分进行操作) 二.膨胀 三.腐蚀 四.代码 1.查看结构元素 #include<opencv2/opencv.hpp> #include<iostream& ...

随机推荐

  1. Chrome 不能访问tensorboard解决

    Chrome 不能访问tensorboard解决 Run: Cmd Result: C:\Users\think>tensorboard --logdir=C:\Users\think\sour ...

  2. 在使用 #import <objc/message.h>时 xcode 报 :Too many arguments to function call, expected 0 , have * 解决方法

    选中项目 - Project - Build Settings - 

  3. java-学习3(jdk-环境配置)

    学习java先安装jdk环境配置 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htm ...

  4. HTTP是用来做什么的

    (一)HTTP协议介绍 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目 ...

  5. vuejs 组件通讯

    在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA(single-page application 简称为 SPA)中的组件间传值. 一.路由传值 路由对象如下图所示: 在跳转页面的时 ...

  6. jvm 几个invoke 指令

    invokestatic : 调用静态方法 invokespecial : 调用实例构造器<init>方法, 私有方法和父类方法 invokevirtual : 调用虚方法 invokei ...

  7. python找包的路径(找不到自定义包的问题解决)

    问题:工程下自定义的包,python在执行时经常找不到包   python找包的路径:python安装路径下的lib包和PYTHONPATH下的包     可以使用[sys.path]打印出pytho ...

  8. Oracle怎么修改字段类型

    转载:https://www.2cto.com/database/201710/689523.html 有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管 ...

  9. 如何正确获取MYSQL的ADO连接字符串

    首先你正确安装了MYSQL的数据库驱动程序(mysql-connector-odbc-5.3.2-win32.msi )http://dev.mysql.com/downloads/connector ...

  10. UA判断跳转

    <script type="text/javascript"> UA = navigator.userAgent.toLowerCase(); url = window ...