
图像处理2(c++,opencv)
文章平均质量分 73
用c++,opencv学习图像处理
刘燚
这个作者很懒,什么都没留下…
展开
-
数字图像处理(c++ opencv):图像复原与重建--常见的噪声模型—高斯噪声
文章目录前言一、原理1.概率密度函数及示意图灰度分布表示曲线2.高斯随机数的产生2.代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、原理1.概率密度函数及示意图灰度分布表示曲线2.高斯随机数的产生Box-Muller 算法:先得到服从均匀分布的随机数,再将服从均匀分布的随机数转变为服从正态分布。设U1和U2是服从均匀分布的随机数,则通过下列公式或者得到正态分布随机数Z,然后通过均值和标准差计算对应的高斯随机数:2.代码代码如下.原创 2022-03-30 18:36:24 · 5396 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--同态滤波
文章目录前言一、同态滤波原理1.处理原理二、同态滤波器模板及MATLAB代码1.同态滤波器2.代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、同态滤波原理1.处理原理(1)认为图像f(x,y)由两部分组成:照射分量i(x,y),反射分量r(x,y):f(x,y)=i(x,y)∗r(x,y)f(x,y)=i(x,y)*r(x,y)f(x,y)=i(x,y)∗r(x,y)(2)但上式不能直接用于对两个分量在频率域进行处理,因为乘积的傅里叶变换不等于变.原创 2021-12-01 14:31:50 · 4444 阅读 · 1 评论 -
c++ opencv数字图像处理:频率域滤波--拉普拉斯滤波(锐化)
文章目录前言一、拉普拉斯二、代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、拉普拉斯频率域中的拉普拉斯:二、代码主代码:#include<iostream>#include<opencv2/opencv.hpp>#include "MY_DFT.h"#include <math.h>#define M_PI 3.14159265358979323846using namespace cv;u.原创 2021-11-30 17:52:38 · 1713 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--高通滤波--理想高通滤波
文章目录前言一、理想高通滤波器(IHPF)二、代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、理想高通滤波器(IHPF)二、代码主代码:#include<iostream>#include<opencv2/opencv.hpp>#include "MY_DFT.h"using namespace cv;using namespace std;int main(){ Mat image, image_gr.原创 2021-11-30 16:40:23 · 2342 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--高通滤波--高斯高通滤波
文章目录前言一、高斯高通滤波器(GHPF)二、代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、高斯高通滤波器(GHPF)D2(u,v)为距离中心点的距离平方,D0为设置半径D^2(u,v)为距离中心点的距离平方,D_0为设置半径D2(u,v)为距离中心点的距离平方,D0为设置半径二、代码主代码:#include<iostream>#include<opencv2/opencv.hpp>#include "MY_D.原创 2021-11-30 16:34:16 · 2963 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--高通滤波--巴特沃斯高通滤波
文章目录前言一、巴特沃斯高通滤波器(BHPF)二、代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、巴特沃斯高通滤波器(BHPF)D2(u,v)为距离中心点的距离平方,D0为设置半径,通过n的值来调整滤波器D^2(u,v)为距离中心点的距离平方,D_0为设置半径,通过n的值来调整滤波器D2(u,v)为距离中心点的距离平方,D0为设置半径,通过n的值来调整滤波器二、代码主代码:#include<iostream>#include&.原创 2021-11-30 16:25:47 · 4846 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--低通滤波--巴特沃斯低通滤波
文章目录前言一、巴特沃斯低通滤波器(BLPF)二、代码三、说明前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、巴特沃斯低通滤波器(BLPF)D2(u,v)为距离中心点的距离平方,D0为设置半径,通过n的值来调整滤波器D^2(u,v)为距离中心点的距离平方,D_0为设置半径,通过n的值来调整滤波器D2(u,v)为距离中心点的距离平方,D0为设置半径,通过n的值来调整滤波器二、代码主代码:#include<iostream>#inc.原创 2021-11-30 10:15:36 · 2247 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--低通滤波--高斯低通滤波
文章目录前言一、高斯低通滤波器(GLPF)二、代码三、说明前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、高斯低通滤波器(GLPF)二、代码主代码:#include<iostream>#include<opencv2/opencv.hpp>#include "MY_DFT.h"#include "Salt.h"using namespace cv;using namespace std;int main().原创 2021-11-30 09:30:17 · 1396 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波--低通滤波--理想低通滤波
文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sn.原创 2021-11-29 14:30:49 · 5124 阅读 · 0 评论 -
c++ opencv数字图像处理:频率域滤波基础,傅里叶变换及频谱图
文章目录前言一、傅里叶变换1.傅里叶级数概念2.傅里叶级数公式3.傅里叶变换二、频谱图1.引入库2.读入数据总结前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、傅里叶变换1.傅里叶级数概念维基百科:傅里叶级数(Fourier series)是把类似波的函数表示成简单正弦波的方式。更正式地说,对于满足狄利克雷定理的周期函数,其傅里叶级数是由一组简单振荡函数(正弦与余弦函数,或等价的复指数函数)的加权和表示的方法。即 任何函数都可以分解为一组简单的正弦与余.原创 2021-11-26 10:56:02 · 4556 阅读 · 0 评论 -
c++ opencv数字图像处理:锐化(高通)空间滤波器基础,锐化空间滤波之拉普拉斯(二阶导数滤波)
文章目录前言一、锐化空间滤波基础二、使用步骤1.引入库2.读入数据总结前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、锐化空间滤波基础一阶导数定义为差分二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarni.原创 2021-11-19 15:33:27 · 4543 阅读 · 0 评论 -
c++ opencv数字图像处理:低通滤波之统计排序滤波器(中值滤波器)
文章目录前言一、中值滤波器1.代码前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、中值滤波器中值滤波器即取领域像素值的中值作为像素结果1.代码代码如下(示例):#include<iostream>#include<opencv2/opencv.hpp>#include"Salt.h"using namespace cv;using namespace std;//定义高斯滤波函数void myfilter(in.原创 2021-11-18 15:45:57 · 2743 阅读 · 0 评论 -
c++ opencv数字图像处理:低通滤波之高斯滤波器
文章目录前言一、数学基础:高斯函数1.一维高斯函数2.二维高斯函数二、高斯滤波器1.程序2.读入数据总结前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、数学基础:高斯函数1.一维高斯函数在统计学与概率论中,高斯函数是正态分布(高斯分布)的密度函数,一维高斯表达式如下:其中,其中a、b与 c为实数常数,且a > 0.a表示得到曲线的高度;b(μ)是指曲线在x轴的中心;c(σ)指width(与半峰全宽有关);2.二维高斯函数二维高斯表.原创 2021-11-18 14:13:09 · 3865 阅读 · 2 评论 -
c++ opencv数字图像处理:空间滤波基础,低通滤波之均值滤波(盒式滤波)器
文章目录前言一、可分离滤波器核二、盒式滤波器核三、低通高斯滤波器核四、统计排序(非线性)滤波器五、opencv函数总结1.引入库前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、可分离滤波器核二、盒式滤波器核三、低通高斯滤波器核四、统计排序(非线性)滤波器五、opencv函数总结1.引入库代码如下(示例):import numpy as np...原创 2021-11-16 14:22:37 · 4555 阅读 · 0 评论 -
c++ opencv 图像处理:直方图处理(直方图均衡化,直方图匹配(规定化))
文章目录前言一、直方图(histogram)二、直方图处理1.直方图均衡化2.直方图匹配(规定化)3.局部直方图处理4.直方图统计量增强图像三、opencv函数总结前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、直方图(histogram)非归一化直方图:h(rk)=nkh(r_k)=n_k h(rk)=nk其中rkr_krk为图像像素灰度值,比如常见的0-255,nkn_knk为图像中某一灰度级的像素个数。归一化直方图:p(rk)=h(r.原创 2021-09-22 16:30:23 · 18934 阅读 · 5 评论 -
数字图像处理学习笔记1:图像增强之灰度变换(灰度反转,对数变换,冥律变换)
灰度变换:原创 2020-10-17 10:11:40 · 5030 阅读 · 2 评论 -
c++ opencv 图像处理:灰度变换(灰度反转,对数变换,冥律(伽马)变换)
文章目录前言一、灰度变换1.灰度反转2.对数变换3.冥律(伽马)变换4.分段线性变换前言数字图像处理c++ opencv(VS2019 opencv4.53)持续更新一、灰度变换灰度变换原理:利用变换函数T将原图像素灰度值r映射为像素值s。s=T(r) s=T( r ) s=T(r)1.灰度反转灰度反转:将亮暗对调,可以增强图像暗色区域中的细节.s=L−1−rs=L-1-rs=L−1−rL为图像灰度级。代码如下(示例):#include<iostream>#in.原创 2021-09-16 16:38:11 · 11067 阅读 · 2 评论 -
c++ opencv数字图像处理:访问图像像素,遍历图像像素
文章目录前言一、访问图像像素1.访问(j,i)处像素2.例子:在图像中加入白色椒盐噪声二、遍历图像像素1.指针扫描2.迭代器扫描总结前言一、访问图像像素1.访问(j,i)处像素以8位(0~255)灰度图像和BGR彩色图像为例,用at可以访问图像像素://灰度图像:image.at<uchar>(j, i) //j为行数,i为列数//BGR彩色图像image.at<Vec3b>(j, i)[0] //B分量image.at<Vec3b>(j, i)[.原创 2021-08-23 18:49:11 · 3233 阅读 · 0 评论 -
c++ opensv数字图像处理3:通过鼠标点击操作获取图像的像素坐标和像素值
文章目录前言一、创建鼠标操作函数的头文件:onMouse.h二、创建鼠标操作函数的源文件:onMouse.cpp三、示例前言c++ opencv 数字图像处理在matlab中进行图像处理时,在图像窗口可以点击图像像素查看对应的像素值,比较方便。在c++ opencv中需要自己编程达到对应效果,在图像处理之前可以创建对应的函数文件来辅助进行图像处理。一、创建鼠标操作函数的头文件:onMouse.h#include<iostream>#include<opencv2/ope.原创 2021-08-14 15:52:17 · 1813 阅读 · 0 评论 -
c++ opencv数字图像处理2:Mat创建图像(矩阵),获取图像信息,感兴趣区域(Rect)
文章目录前言一、创建图像(矩阵):Mat二、操作图像矩阵的像素前言在数字图像处理中,图像的形式实际是一个矩阵,对图像的各种处理也就是对矩阵进行处理。一、创建图像(矩阵):Mat使用Mat创建图像(矩阵)的常用形式有:1.创建一个空图像,大小为0Mat image1;2.指定矩阵大小,指定数据类型:Mat image1(100,100,CV_8U);这里包含三个参数:矩阵行数,矩阵列数,数据类型;其中数据类型有很多种,常用的应该有:CV_8U:8位无符号型(0~255),即灰.原创 2021-07-28 15:42:13 · 9138 阅读 · 1 评论 -
数字图像处理c++ opencv(VS2019 opencv4.53)持续更新
系列文章目录文章目录系列文章目录前言一、基本操作1.图像的读取,显示,保存2.前言使用c++ opencv进行数字图像处理学习;工具:VS2019, opencv4.53;持续更新一、基本操作1.图像的读取,显示,保存图像的读取,显示,保存2....原创 2021-07-27 15:45:41 · 4691 阅读 · 0 评论 -
c++ opencv(VS2019, opencv4.53) 数字图像处理1:图像的读取(imread),显示(imshow),保存(imwrite).
文章目录前言一、图像的读取及显示代码二、函数详解1.imread函数2.namedWindow函数3.imshow函数4.imwrite函数前言c++ opencv 数字图像处理起步一、图像的读取及显示代码#include <opencv2/core.hpp>#include <opencv2/highgui.hpp>#include<iostream>using namespace cv;using namespace std;int m.原创 2021-07-26 17:02:52 · 3022 阅读 · 0 评论