本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
一.形态学其他操作(用的不多,如果忘了也可以通过膨胀腐蚀得到相同效果) 1.开运算 2.闭运算 3.形态学梯度 4.顶帽 5.黑帽 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat srcImg = imread("E://1.jpg"); Mat dstImg; Mat element = getStructuringElement(MORPH_RECT, Size(, ));…
一.膨胀腐蚀概述(对高亮部分进行操作) 二.膨胀 三.腐蚀 四.代码 1.查看结构元素 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespace std; void main(){ Mat element=getStructuringElement(MORPH_RECT,Size(,)); Mat element2=getStructuringElement(MORPH_C…
一.鼠标事件 #include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespace std; Mat img(,,CV_8UC3,Scalar(,,));//定义成全局变量 void OnMouse(int event,int x,int y,int flags,void* param){ if(event==CV_EVENT_LBUTTONDOWN){//如果鼠标左键按下 cout&…
本节内容: 访问像素值 用指针扫描图像 用迭代器扫描图像 编写高效的图像扫描循环 扫描图像并访问相邻像素 实现简单的图像运算 图像重映射 访问像素值 准备工作: 创建一个简单函数,用它在图像中加入椒盐噪声. 实现如下: void salt(cv::Mat image, int n){ int i, j; ; k < n; k ++){ i = std::rand()%image.cols; j = std::rand()%image.rows; if(image.type() == CV_8UC…
[Mat数据类型和基本操作] ®.运行环境:Linux(RedHat+OpenCV3.0) 1.Mat的作用: Mat类用于表示一个多维的单通道或者多通道的稠密数组.能够用来保存实数或复数的向量.矩阵,灰度或彩色图像,立体元素,点云,张量以及直方图(高维的直方图使用SparseMat保存比较好).简而言之,Mat就是用来保存多维的矩阵的. 2.Mat的常见属性: data: uchar类型的指针,指向Mat数据矩阵的首地址.可以理解为标示一个房屋的门牌号: dims: Mat矩阵的维度,若Mat…
一.GrabCut 1.利用Rect做分割 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat src = imread("E://bird.jpg"); Rect rect(, , , );//左上坐标(X,Y)和长宽 Mat result, bg, fg; grabCut(src, result, rect, bg, fg, , GC_INIT_WITH_RECT); imsho…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
矩阵的掩码操作很简单.其思想是:根据掩码矩阵(也称作核)重新计算图像中每个像素的值.掩码矩阵中的值表示近邻像素值(包括该像素自身的值)对新像素值有多大影响.从数学观点看,我们用自己设置的权值,对像素邻域内的值做了个加权平均. 测试用例 思考一下图像对比度增强的问题.我们可以对图像的每个像素应用下面的公式: 上面那种表达法是公式的形式,而下面那种是以掩码矩阵表示的紧凑形式.使用掩码矩阵的时候,我们先把矩阵中心的元素(上面的例子中是(0,0)位置的元素,也就是5)对齐到要计算的目标像素上,再把邻域像…
本篇所涉及的内容 变量 常量 字符编码 用户交互input 格式化字符串 python的缩进规则 注释 初始模块 条件判断 循环 变量 变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型. 变量在程序中就是用一个变量名表示了,变量名必须是大小写英文.数字和_的组合,且不能用数字开头. 1 2 3 4 5 例如:     x = 100 # 变量x是一个整数     name = 'zhangcong' # 变量name是一个字符串     …