![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数字图像处理
是个努力精啊!
摸打滚爬的努力精本精!
展开
-
数字图像处理基础内容——MOOC学习笔记(1)
1.数字图像处理及特点数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,从而达到人们所要求的预期结果。2.数字图像处理的主要研究内容图像处理技术研究的内容主要包括:图像变换、图像增强、图像恢复、图像压缩编码、彩色图像处理、图像的三维重建、图像分割、图像的表示和描述、图像编码、图像分类、图像重建等。图像变换:简化图像处理过程和...原创 2019-04-21 21:00:18 · 3938 阅读 · 4 评论 -
opencv3.1.0+vs2015——基于距离变换与分水岭的图像分割
API代码如下所示:#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat src; src = imread("D:/studytest/pk.bmp"); i...原创 2019-08-21 14:29:45 · 366 阅读 · 0 评论 -
opencv3.1.0+vs2015——轮廓发现
轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法。所以边缘提取的阈值选定会影响最终轮廓发现结果。API介绍(1)findContours 发现轮廓(2)drawContours 绘制轮廓过程:(1)输入图像转换为灰度图像cvtColor(2)使用Canny进行边缘提取,得到二值图像(3)使用findContours寻找轮廓(4)使用drawContours绘制轮廓代码如下所...原创 2019-08-21 10:09:21 · 226 阅读 · 0 评论 -
opencv3.1.0+vs2015——矩阵的掩模操作和自定义线性滤波
掩模操作实现图像对比度调整红色是中心像素,从上到下,从左到右对每个像素做同样的处理操作,得到最终结果就是对比度提高之后的输出图像Mat对象。I(i,j)=5*I(i.j)-[I(i-1,j)+I(i+1,j)+I(i,j-1)+I(i,j+1)] 1.定义掩模:Mat kernel=(Mat_< char >(3,3)<<0,-1,0,-1,5,-1,0,-1...原创 2019-07-23 09:44:25 · 208 阅读 · 0 评论 -
opencv3.0.1+vs2015——像素重映射
像素重映射——简答的说就是把输入图像中各个像素按照一定的规则映射到另一张图像的对应位置上去,形成一张新的图像。API介绍#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;Mat src, dst, map_x, map_y;int ind...原创 2019-07-26 16:37:04 · 126 阅读 · 0 评论 -
opencv3.1.0+vs2015——Canny边缘检测
Canny算法介绍:是边缘检测算法,是一个很好的边缘检测器。五个步骤:1)高斯模糊——GaussianBlur (对图像进行降噪,避免影响最后的结果)2)灰度转换——cvtColor3)计算梯度——Sobel/Scharr4)非最大信号抑制 (边缘信号强但不能都是边缘,对非边缘信号进行抑制)5)高低阈值连接输出二值图像 (边缘像素可能没有连接起来,通过高低阈值进行连接)Can...原创 2019-07-26 15:16:01 · 593 阅读 · 0 评论 -
opencv3.1.0+vs2015——sobel算子和laplance算子
(一)sobel算子卷积应用——图像边缘提取边缘——是像素值发生跃迁的地方,是图像的显著特征之一,在图像特征提取、对象检测、模式识别等方面都有重要的作用。如何捕捉/提取边缘——对图像求它的一阶导数。delta=f(x)-f(x-1),delta越大,说明像素在x方向变化越大,边缘新号越强。sobel算子是离散微分算子用来计算图像灰度的近似梯度。sobel算子功能集合高斯平滑和微分求导。又...原创 2019-07-25 16:29:01 · 317 阅读 · 0 评论 -
opencv3.1.0+vs215——模板匹配
模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。所以模板匹配首先需要一个模板图像T(给定的子图像)。另外需要一个待检测的图像-原图像S。工作方法,在待检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。opencv中常见的6种匹配算法如下所示:平方差匹配法CV_TM_SQDIFF归一化平方差匹配法CV_TM_SQDIFF_NOR...原创 2019-07-29 20:38:37 · 316 阅读 · 0 评论 -
opencv3.1.0+vs2015——高斯金字塔、高斯不同、采样API和基本阈值操作
阈值——简单来说是把图像分割的标尺,这个标尺是根据阈值类型产生的。(1)阈值类型——阈值二值化左下方的图表示图像像素点src(x,y)值分布情况,蓝色水平线表示阈值(2)阈值类型——阈值反二值化左下方的图表示图像像素点src(x,y)值分布情况,蓝色水平线表示阈值(3)阈值类型——截断左下方的图表示图像像素点src(x,y)值分布情况,蓝色水平线表示阈值(4)阈值类型——阈值取...原创 2019-07-24 20:08:25 · 192 阅读 · 0 评论 -
opencv3.1.0+vs2015——直方图反向投影
反向投影是反映直方图模型在目标图像中的分布情况。简单点说就是用直方图模型去目标图像中寻找是否有相似的对象。通常用HSV色彩空间的HS两个通道直方图模型。反向投影——步骤:1)建立直方图模型。2)计算待测图像直方图并映射到模型中。3)从模型反向计算生成图像。API:calcBackProject ( const Mat * images,int nimages,cons...原创 2019-07-29 17:32:57 · 128 阅读 · 0 评论 -
opencv3.0.1+vs2015——直方图均衡化、直方图计算、直方图的比较
图像直方图是指对整个图像在灰度范围内的像素值(0~255)统计出现频率次数,据此生成的直方图,称为图像直方图。直方图反映了图像灰度的分布情况。是图像的统计学特征。直方图均衡化API说明直方图均衡化的demo如下所示:#include<opencv2/opencv.hpp>#include<iostream>using namespace std;usi...原创 2019-07-29 10:09:46 · 682 阅读 · 0 评论 -
opencv3.1.0+vs2015——模糊图像和边缘处理
模糊原理归一化盒子滤波(均值滤波):高斯滤波:相关API均值模糊:blur(Mat src,Mat dst,Size(xradius,yradius),Point(-1,-1));高斯模糊:GaussianBlur(Mat src,Mat dst,Size(x,y),sigmax,sigmay);其中,Size(x,y),x和y必须是正数而且是奇数。#include<op...原创 2019-07-24 10:47:17 · 1937 阅读 · 0 评论 -
矩阵卷积、矩阵相乘以及频域相乘之间的关系
通过查阅了网上很多的资料,在此做一个总结,有错误之处,还请评论指出,谢谢!设矩阵A与矩阵B,其中矩阵B为卷积模板,B1是卷积模板翻转180度,FA是矩阵A在频域下的矩阵,FB是矩阵B在频域下的矩阵。结论:矩阵A与矩阵B1相乘=矩阵A与矩阵B的卷积=矩阵FA与矩阵FB相乘。(PS:上面说的两个相乘是不同的,具体可以从下面的讲述中可以清楚的明白)1)验证:矩阵A与矩阵B1相乘=矩阵A与矩阵B的...原创 2019-07-11 19:55:52 · 5679 阅读 · 3 评论 -
pycharm+python学习笔记(3)——图像属性获取、感兴趣ROI区域及通道处理
1.获取图像属性1)形状——shape:通过shape来获取图像的形状。灰度图像返回(行数,列数)、彩色图像返回(行数,列数,通道数)。2)像素数目——size:通过size来获取图像的像素数目。灰度图像返回行数×列数、彩色图像返回行数×列数×通道数。3)图像类型——dtype:通过dtype关键字获取图像的数据类型,通常返回uint8。import cv2 as cvimport ra...原创 2019-06-24 15:34:56 · 2061 阅读 · 0 评论 -
pycharm+python学习笔记(2)——图像像素处理
1.读取像素灰度图像直接返回灰度值,彩色图像则返回B、G、R三个分量。注意OpenCV读取图像是BGR存储显示,需要转换为RGB再进行图像处理。灰度图像:返回值 = 图像(位置参数)eg: test=img[88,42]彩色图像:返回值 = 图像[位置元素, 0 | 1 | 2 ] 获取BGR三个通道像素import cv2 as cvimg=cv.imread("D:/ptext/g...原创 2019-06-24 14:32:53 · 5097 阅读 · 0 评论 -
图像增强——MOOC学习笔记(3)
图像增强的目的:①改善图像的视觉效果,或者使图像更适合于人或机器进行分析处理②通过图像增强,可以减少图像中的噪声,提高目标与背景的对比度③强调或抑制图像中的某些细节图像增强方法的分类处理的作用域:空间域方法、频率域方法1)空间域方法:在图像二维平面上,直接对像素值进行处理2)频率域方法:对图像作Fourier(傅里叶)变换,在变换域处理,再作逆变换得到增强图像其他方法:小波变换和R...原创 2019-04-25 16:53:20 · 2009 阅读 · 13 评论 -
pycharm+python学习笔记(1)——图像读取
安装软件通过看网上的各种资料,装的我人生悲惨,后来学长告诉我,我装的太复杂了,九九八十一难,终于搭好了环境。(1)打开pycharm,选择创建项目Create New Project(2)选择一个项目路径,然后点击creat创建。(3)在Project下的ptext上右键,选择new,再选择Python File。(4)输入新建文件的名字,然后点OK。(5)配置第三方库,点击菜单...原创 2019-04-28 20:43:33 · 9807 阅读 · 2 评论 -
图像基本运算——MOOC学习笔记(2)
按照图像处理运算的数学特征,图像基本运算可以分为:1)点运算:指对一幅图像中每个像素点的灰度值进行计算的方法。2)代数运算:将两幅或多幅图像通过对应像素之间的加、减、乘、除运算得到输出图像的方法。3)逻辑运算:将两幅或多幅图像通过对应像素之间的逻辑与、或、非运算得到输出图像的方法。4)几何运算:改变图像中物体对象(像素)之间的空间关系。从变换性质来分,几何变换可以分为图像的位置变换(平移、...原创 2019-04-22 17:04:59 · 3317 阅读 · 1 评论 -
基于Opencv的SIFT、SURF、HOG的实现
SIFT实现代码:#include<opencv2/opencv.hpp>#include<opencv2/xfeatures2d.hpp>#include<iostream>using namespace std;using namespace cv;using namespace cv::xfeatures2d;int main(int arg...原创 2019-08-27 19:45:24 · 860 阅读 · 0 评论