图像数字处理——直方图/滤波器

图形数字处理作业

使用Python+OpenCV实现对图像的处理。
作业说明:
1.直方图均衡化
2.平滑滤波器(中值和均值)
3.锐化滤波器(一阶和二阶的差异)

一.直方图均衡化

1.简单说明:
通过改变图像的直方图来改变图像中各像素的灰度,主要用于增强动态范围偏小的图像的对比度.把原始图像的直方图变换为均匀分布(均衡)的形式,直方图均衡化是一种全局处理方式,它对处理的数据不加选择。
2.代码:

import cv2
import numpy as np
img = cv2.imread('caise2.jpg',1)  #此图片是彩色图,名为caise2.jpg
(b,g,r) = cv2.split(img) #通道分解
bH = cv2.equalizeHist(b) 	 #函数equalizeHist用来做直方图均衡化
gH = cv2.equalizeHist(g)	#函数equalizeHist只支持单通道的灰度图
rH = cv2.equalizeHist(r)	#彩色图要多通道分离成单通道,然后再合并成多通道
result = cv2.merge((bH,gH,rH),)#通道合成
res = np.hstack((img,result))
#cv2.imshow('dst',res)
cv2.imshow('caise1',res)
cv2.waitKey(0)

3.效果图对比
此图可以看出图片整体明显变亮
4.自我理解
通过上图可以看出,直方图均衡化让原本亮的图片变的更亮,所以直方图均衡化应该适用于图片整体偏亮或者偏暗的图像,因为它属于一种全局处理方式,对图片上的所有数据都不加选择的处理。

二.平滑滤波器(中值和均值)

1.简单说明:

两者都是一种降低噪声的平滑滤波器;中值滤波器:如果一个信号是平缓变化的,那么某一点的输出值可以用这点的某个大小的邻域内的所有值的统计中值来代替;均值滤波器:均值滤波器的主要应用是去除图像中的不相关细节,是指与滤波器的模板相比较小的像素区域,把邻域内的平均值赋给中心元素。
2.代码:

#encoding:utf-8
import cv2  
import numpy as np  
import matplotlib.pyplot as plt
 
#读取图片
img = cv2.imread('huidu4.png')
#source = cv2.cvtColor(img,cv2.COLOR_BGR2RGB),本身就是灰度,不需要变灰了。
 
#均值滤波
result = cv2.blur(img, (5,5))
#中值滤波
median = cv2.medianBlur(img,5)
 
#显示图形
titles = ['Source Image', 'Blur Image','medianBlur Image']  
images = [img, result,median]  
for i in range(3):  
   plt.subplot(1,3,i+1), plt.imshow(images[i], 'gray')  
   plt.title(titles[i])  
   plt.xticks([]),plt.yticks([])  
plt.show()
# 函数表示plt.subplot(1,3,i+1),1行3列,当前位置。

3.效果图对比
原图,均值滤波,中值滤波
4.自我理解
通过上图的对比,可以看出均值滤波器的缺点是存在着边缘模糊的问题。而中值滤波做到既去除噪声又保护图像的边缘。

锐化滤波器(一阶梯度算子和二阶拉普拉斯算子)

1.简单说明:
梯度算子:首先通过一阶导数计算边缘强度,然后采用梯度的方向来对边缘的局部方向进行寻找。这里主要描述Sobel算子:图像中的边缘区域,像素值会发生“跳跃”,对这些像素求导,在其一阶导数在边缘位置为极值,这就是Sobel算子使用的原理——极值处就是边缘。拉普拉斯算子:基于二阶微分的算子,也称基于零交叉的算子,如果对像素值求二阶导数,会发现边缘处的导数值为0。
2.代码:
A:Sobel算子

#coding=utf-8
import cv2
import numpy as np
import matplotlib.pyplot as plt
 
img = cv2.imread("huidu10.jpg", 0)
 
x = cv2.Sobel(img,cv2.CV_16S,1,0)
y = cv2.Sobel(img,cv2.CV_16S,0,1)   #求梯度Sobel()
 
absX = cv2.convertScaleAbs(x)   # 转回uint8
absY = cv2.convertScaleAbs(y)  #convertScaleAbs()用于实现对整个图像数组中的每一个元素实现虹膜增强效果
 
Result = cv2.addWeighted(absX,0.5,absY,0.5,0)#简单的图像融合addWeighted
##cv2.imshow("absX", absX)
##cv2.imshow("absY", absY)

titles = ['Source Image', 'Sobel Image']  
images = [img, Result]  
for i in range(2):  
   plt.subplot(1,2,i+1), plt.imshow(images[i], 'gray')  
   plt.title(titles[i])  
   plt.xticks([]),plt.yticks([])  
plt.show()  
##cv2.imshow("img", img)
##cv2.imshow("Result", dst)  这里选择同时显示图片。
 cv2.waitKey(0)
cv2.destroyAllWindows() 

B:Laplacian算子

#coding=utf-8
import cv2
import numpy as np
import matplotlib.pyplot as plt
 
img = cv2.imread("huidu10.jpg", 0)
 
gray_lap = cv2.Laplacian(img,cv2.CV_16S,ksize = 3)#Laplacian变换
Result = cv2.convertScaleAbs(gray_lap)           #convertScaleAbs增强效果

titles = ['Source Image', 'laplacian Image']  
images = [img, Result]  
for i in range(2):  
   plt.subplot(1,2,i+1), plt.imshow(images[i], 'gray')  
   plt.title(titles[i])  
   plt.xticks([]),plt.yticks([])  
plt.show()  


##cv2.imshow('laplacian',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

3.效果图对比
在这里插入图片描述
在这里插入图片描述
4.自我理解
通过上图的对比,我感觉拉普拉斯算子的图片边缘更为明显一些,噪声较为明显。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
程序代码说明 P0201:MATLAB赋值 P0202:MATLAB中的for循环 P0203:MATLAB中的for循环和if条件 P0205:MATLAB图像处理的基本操作 P0206:MATLAB高级图像处理操作 P0207:根据RGB图像创建一幅灰度图像 P0208:二值图像的取反操作 P0209:用imshow函数显示图像 P0210:在同一个窗口内显示两幅图像 P0301:数字图像矩阵数据的显示及其傅立叶变换 P0302:二维离散余弦变换的图像压缩 P0303:采用灰度变换的方法增强图像的对比度 P0304:直方图均匀化 P0305:模拟图像受高斯白噪声和椒盐噪声的影响 P0306:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 P0307:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 P0308:图像的自适应魏纳滤波 P0309:运用5种不同的梯度增强法进行图像锐化 P0310:图像的高通滤波和掩模处理 P0311:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 P0312:利用巴特沃斯(Butterworth)高通滤波器图像进行锐化处理 P0401:用Prewitt算子检测图像的边缘 P0402:用不同σ值的LoG算子检测图像的边缘 P0403:用Canny算子检测图像的边缘 P0404:图像的阈值分割 P0405:用水线阈值法分割图像 P0406:对矩阵进行四叉树分解 P0407:将图像分为文字和非文字的两个类别 P0408:形态学梯度检测二值图像的边缘 P0409:形态学实例——从PCB图像中删除所有电流线,仅保留芯片对象 P0502:计算图像中的欧拉数 P0610:神经网络的实例
程序代码说明 P0201:MATLAB赋值 P0202:MATLAB中的for循环 P0203:MATLAB中的for循环和if条件 P0205:MATLAB图像处理的基本操作 P0206:MATLAB高级图像处理操作 P0207:根据RGB图像创建一幅灰度图像 P0208:二值图像的取反操作 P0209:用imshow函数显示图像 P0210:在同一个窗口内显示两幅图像 2.rar (15.23k) 程序代码说明 P0301:数字图像矩阵数据的显示及其傅立叶变换 P0302:二维离散余弦变换的图像压缩 P0303:采用灰度变换的方法增强图像的对比度 P0304:直方图均匀化 P0305:模拟图像受高斯白噪声和椒盐噪声的影响 P0306:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 P0307:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 P0308:图像的自适应魏纳滤波 P0309:运用5种不同的梯度增强法进行图像锐化 P0310:图像的高通滤波和掩模处理 P0311:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 P0312:利用巴特沃斯(Butterworth)高通滤波器图像进行锐化处理 程序代码说明 P0401:用Prewitt算子检测图像的边缘 P0402:用不同σ值的LoG算子检测图像的边缘 P0403:用Canny算子检测图像的边缘 P0404:图像的阈值分割 P0405:用水线阈值法分割图像 P0406:对矩阵进行四叉树分解 P0407:将图像分为文字和非文字的两个类别 P0408:形态学梯度检测二值图像的边缘 P0409:形态学实例——从PCB图像中删除所有电流线,仅保留芯片对象 程序代码说明 P0502:计算图像中的欧拉数 程序代码说明 P0610:神经网络的实例
第1章 Visual C++与数字图像处理 1 1.1 数字图像处理概述 2 1.1.1 图像数字图像 2 1.1.2 数字图像处理研究的内容 4 1.1.3 数字图像处理的应用 6 1.2 Visual C++概述 8 1.2.1 C++语言简介 8 1.2.2 Visual C++简介 16 1.2.3 Visual C++ 2005 集成开发环境 19 1.3 在Visual C++中处理数字图像 22 1.3.1 位图和调色板 22 1.3.2 图形设备接口 23 1.3.3 OpenCV 26 1.4 本章小结 26 第2章 Visual C++ 2005基础知识 27 2.1 利用向导生成应用程序 28 2.1.1 创建新项目 28 2.1.2 编译并运行工程 35 2.2 添加资源 36 2.2.1 新建资源 36 2.2.2 导入资源 38 2.3 MFC编程基础 38 2.3.1 MFC应用程序框架 39 2.3.2 Windows消息和事件驱动 40 2.3.3 常用消息 41 2.3.4 MFC的消息映射 42 2.4 消息与事件响应 44 2.4.1 添加类 44 2.4.2 添加类成员 45 2.4.3 添加消息响应 46 2.4.4 添加事件 47 2.4.5 添加函数重写 48 2.4.6 手动添加消息响应 50 2.5 对话框的使用 51 2.5.1 创建并编辑对话框资源 51 2.5.2 模式对话框和无模式对话框 55 2.5.3 消息对话框 57 2.5.4 共用对话框 59 2.6 常用控件的使用 64 2.6.1 按钮类控件 64 2.6.2 文本框 67 2.6.3 列表框 70 2.6.4 组合框 74 2.6.5 静态类控件 76 2.7 菜单栏和工具栏 77 2.7.1 菜单栏的使用 77 2.7.2 工具栏的使用 83 2.8 本章实例:简单的画图程序 87 2.8.1 实例预览 88 2.8.2 概要设计 88 2.8.3 完成实例编码 91 2.9 本章小结 98 第3章 认识色彩空间 99 3.1 颜色的基本知识 100 3.1.1 颜色的定义 100 3.1.2 颜色的属性 102 3.2 常用色彩空间简介 103 3.2.1 RGB颜色空间 103 3.2.2 CMY/CMYK颜色空间 105 3.2.3 HSV/HSB(HSI/HCI/HSL) 颜色空间 106 3.2.4 CIE系列颜色空间 109 3.2.5 YUV/YCbCr颜色空间 111 3.3 色彩空间的转换方法 112 3.3.1 RGB转换到HSV的方法 113 3.3.2 RGB转换到HSI的方法 114 3.3.3 RGB转换到YUV的方法 115 3.3.4 RGB转换到YCbCr的方法 116 3.4 本章实例:Photoshop 色彩编辑器 118 3.4.1 需求分析 118 3.4.2 概要设计 119 3.4.3 完成实例编码 121 3.5 本章小结 130 第4章 图像文件格式 131 4.1 图像文件概述 132 4.1.1 图像文件 132 4.1.2 图像文件的一般结构 132 4.1.3 图像文件的常用参数 133 4.2 BMP文件格式 134 4.2.1 文件结构 135 4.2.2 文件头和信息头 135 4.2.3 主要参数 136 4.3 GIF文件格式 136 4.3.1 GIF格式简介 137 4.3.2 GIF文件结构 137 4.3.3 GIF文件块的结构 138 4.4 PNG文件格式 142 4.4.1 PNG格式简介 142 4.4.2 PNG文件结构 143 4.4.3 PNG中的关键数据块 144 4.5 图像的压缩编码 146 4.5.1 Huffman编码 147 4.5.2 LZW编码 148 4.5.3 行程编码 151 4.5.4 离散余弦变换 151 4.6 JPEG文件格式 153 4.6.1 JPEG文件概述 153 4.6.2 JPEG编码/解码的理论基础 153 4.6.3 JPEG文件的格式 160 4.7 本章实例:JPEG解码程序 163 4.7.1 概要设计 163 4.7.2 完成实例编码 169 4.8 本章小结 188 第5章 使用DIB处理数字图像 189 5.1 设备相关位图和设备 无关位图 190 5.1.1 设备相关位图(DDB) 190 5.1.2 设备无关位图(DIB) 190 5.2 CBitmap类 190 5.2.1 创建DDB 191 5.2.2 CBitmap中的成员函数 193 5.2.3 应用DDB显示图像 193 5.2.4 应用DDB显示大图像 195 5.3 进一步了解DIB 203 5.3.1 DIB的结构 203 5.3.2 DIB信息段 203 5.3.3 位图数据 205 5.3.4 与DIB有关的函数 206 5.4 本章实例:DIB类的封装 208 5.4.1 设计 208 5.4.2 构造函数 210 5.4.3 DIB位图的显示 214 5.4.4 BMP文件的存储 215 5.5 本章小结 216 第6章 使用GDI+处理数字图像 217 6.1 GDI+简介 218 6.1.1 GDI+概述 218 6.1.2 GDI+的结构 218 6.2 在Visual C++中应用GDI+ 219 6.2.1 GDI+ 在Visual C++ 2005 中的配置方法 219 6.2.2 在Visual 6.0中使用GDI+ 221 6.3 GDI+基础 222 6.3.1 Graphics类 222 6.3.2 GDI+的基本数据类型 225 6.3.3 GDI+中的颜色 226 6.4 GDI+处理图像的基本方法 228 6.4.1 GDI+的图像类 228 6.4.2 创建图像对象 229 6.4.3 图像的显示和缩放 232 6.4.4 图像的基本处理方法 237 6.5 处理图像的色彩 244 6.5.1 ColorMatrix结构体 244 6.5.2 改变图像的透明度 245 6.5.3 将图像转换为灰度图 249 6.5.4 改变图像的亮度 251 6.5.5 改变图像的对比度 253 6.6 本章实例:播放GIF动画 255 6.6.1 播放原理分析 255 6.6.2 处理过程 256 6.6.3 具体实现 257 6.7 本章小结 260 第7章 使用OpenCV处理 数字图像 261 7.1 OpenCV简介 262 7.1.1 OpenCV概述 262 7.1.2 OpenCV的特点 263 7.1.3 OpenCV的命名规则 263 7.1.4 OpenCV的应用举例 264 7.2 OpenCV的安装与配置 266 7.2.1 OpenCV 在Visual C++ 6.0 下的安装与配置 266 7.2.2 OpenCV 在Visual C++ 2005 下的安装与配置 268 7.3 OpenCV的结构 271 7.3.1 OpenCV的体系结构 271 7.3.2 OpenCV的函数结构 271 7.3.3 OpenCV的功能结构 273 7.3.4 OpenCV的数据结构 274 7.4 本章实例:利用OpenCV 显示图像 275 7.4.1 图像文件的载入与显示 275 7.4.2 图像文件的创建、 保存和复制 277 7.5 本章小结 282 第8章 常见图像显示特效 283 8.1 显示特效概述 284 8.1.1 显示特效基础 284 8.1.2 显示特效过程 286 8.1.3 显示特效类 287 8.2 扫描显示特效 289 8.2.1 特效预览 289 8.2.2 基本原理和实现方法 289 8.2.3 编程实现 290 8.3 移动显示特效 292 8.3.1 特效预览 292 8.3.2 基本原理和实现方法 292 8.3.3 编程实现 293 8.4 百叶窗显示特效 295 8.4.1 特效预览 295 8.4.2 基本原理和实现方法 295 8.4.3 编程实现 297 8.5 栅条显示特效 298 8.5.1 特效预览 298 8.5.2 基本原理和实现方法 299 8.5.3 编程实现 300 8.6 马赛克显示特效 301 8.6.1 特效预览 301 8.6.2 基本原理和实现方法 302 8.6.3 编程实现 303 8.7 雨滴显示特效 304 8.7.1 特效预览 304 8.7.2 基本原理和实现方法 304 8.7.3 编程实现 305 8.8 本章实例:类似ACDSee 的图像浏览工具 306 8.8.1 实例预览 306 8.8.2 概要设计 307 8.8.3 完成实例编码 311 8.9 本章小结 324 第9章 图像的点运算 325 9.1 灰度直方图 326 9.1.1 灰度直方图 326 9.1.2 基本原理 328 9.1.3 编程实现 328 9.2 灰度线性变换 338 9.2.1 基本原理 338 9.2.2 编程实现 341 9.3 灰度非线性变换 344 9.3.1 灰度对数变换 344 9.3.2 灰度幂次变换 350 9.3.3 灰度指数变换 353 9.4 灰度阈值变换 354 9.4.1 基本原理 355 9.4.2 编程实现 355 9.5 灰度拉伸 357 9.5.1 基本原理 358 9.5.2 编程实现 360 9.6 灰度均衡 364 9.6.1 基本原理 364 9.6.2 编程实现 365 9.7 本章小结 366 第10章 对图像进行几何变换 367 10.1 图像几何变换的基本理论 368 10.1.1 图像几何变换概述 368 10.1.2 图像几何变换的数学描述 370 10.2 图像的平移变换 371 10.2.1 效果预览 371 10.2.2 基本原理 371 10.2.3 编程实现 373 10.3 图像的镜像变换 377 10.3.1 效果预览 377 10.3.2 基本原理 378 10.3.3 编程实现 379 10.4 图像的转置 383 10.4.1 效果预览 383 10.4.2 基本原理 384 10.4.3 编程实现 385 10.5 图像的缩放 386 10.5.1 效果预览 387 10.5.2 基本原理 387 10.5.3 插值算法介绍 388 10.5.4 编程实现 392 10.6 图像的旋转 398 10.6.1 效果预览 398 10.6.2 基本原理 398 10.6.3 编程实现 403 10.7 使用GDI+实现图像的 几何变换 409 10.7.1 GDI+的变换操作 409 10.7.2 平移 410 10.7.3 缩放 412 10.7.4 旋转 413 10.7.5 变换的组合 417 10.7.6 利用矩阵进行其他 几何变化 419 10.8 本章小结 422 第11章 图像的增强处理 423 11.1 图像的简单平滑 424 11.1.1 邻域处理的基本概念 424 11.1.2 图像的简单平滑原理 427 11.1.3 图像简单平滑的算法实现 427 11.2 图像的高斯平滑 431 11.2.1 平滑线性滤波器 432 11.2.2 高斯平滑的原理 432 11.2.3 高斯平滑的算法实现 433 11.3 图像的中值滤波 436 11.3.1 统计排序滤波器 437 11.3.2 图像中值滤波的原理 437 11.3.3 图像中值滤波的算法实现 439 11.4 应用OpenCV图像 进行平滑处理 445 11.4.1 函数描述 445 11.4.2 概要设计 446 11.4.3 编码实现 446 11.5 拉普拉斯边缘增强 452 11.5.1 图像的锐化 452 11.5.2 图像拉普拉斯锐化的原理 452 11.5.3 图像拉普拉斯锐化的 算法实现 453 11.6 Sobel边缘细化 457 11.6.1 Sobel边缘细化的原理 457 11.6.2 Sobel边缘细化的 编程实现 459 11.7 本章小节 464 第12章 常见滤镜效果 465 12.1 图像的反色效果 466 12.1.1 底片效果 467 12.1.2 实现方法及原理 467 12.1.3 编程实现 467 12.2 图像的雕刻效果 469 12.2.1 雕刻效果 469 12.2.2 实现方法及原理 469 12.2.3 编程实现 470 12.3 图像的黑白效果 472 12.3.1 黑白效果 472 12.3.2 实现方法及原理 473 12.3.3 编程实现 473 12.4 图像的雾化效果 475 12.4.1 雾化效果 475 12.4.2 图像点阵的随机化处理 476 12.4.3 编程实现 476 12.5 图像的马赛克效果 483 12.5.1 马赛克效果 483 12.5.2 实现方法及原理 483 12.5.3 编程实现 484 12.6 图像的素描效果 487 12.6.1 素描效果 487 12.6.2 实现方法及原理 487 12.6.3 编程实现 487 12.7 本章小结 490 第13章 边缘检测和轮廓跟踪 491 13.1 边缘检测 492 13.1.1 边缘检测的基本概念 492 13.1.2 常规边缘检测 493 13.1.3 带方向的边缘检测 498 13.1.4 拉普拉斯算子 503 13.2 Hough变换 509 13.2.1 Hough变换的原理 509 13.2.2 编程实现 515 13.3 种子算法 520 13.3.1 算法介绍 520 13.3.2 编程实现 523 13.4 轮廓跟踪 526 13.4.1 区域表示方法 526 13.4.2 单区域跟踪 536 13.4.3 多区域跟踪 539 13.5 本章实例:应用OpenCV 进行边缘检测 541 13.5.1 Canny准则 541 13.5.2 Canny算法 542 13.5.3 在OpenCV中使用Canny 算法 543 13.6 本章小结 548 第14章 图像的形态学处理 549 14.1 数学形态学 550 14.2 一些必要的概念和 符号约定 550 14.3 图像的腐蚀 554 14.3.1 腐蚀原理 554 14.3.2 编程实现 557 14.4 图像的膨胀 562 14.4.1 膨胀原理 562 14.4.2 编程实现 565 14.5 腐蚀和膨胀的性质及应用 568 14.5.1 腐蚀和膨胀的代数性质 568 14.5.2 腐蚀和膨胀的应用 571 14.6 开运算和闭运算 577 14.6.1 开运算 578 14.6.2 闭运算 579 14.6.3 编程实现 580 14.6.4 开运算和闭运算的 代数性质 582 14.7 图像形态学的其他运算 584 14.7.1 击中/不击中运算 584 14.7.2 细化处理 588 14.8 本章实例:应用OpenCV 进行形态学处理 592 14.8.1 函数描述 592 14.8.2 概要设计 592 14.8.3 编码实现 593 14.9 本章小结 598 第15章 图像分割与目标识别 599 15.1 图像的分割 601 15.1.1 基于幅度的图像分割 601 15.1.2 基于区域的图像分割 606 15.1.3 基于形态学分水岭的 图像分割 611 15.2 图像的匹配 614 15.2.1 基本概念 614 15.2.2 模板匹配算法 615 15.2.3 序贯相似性检测算法 616 15.2.4 幅度排序算法 618 15.3 模式的识别 620 15.3.1 基本概念 620 15.3.2 统计模式识别 621 15.3.3 其他模式识别方法简介 627 15.4 本章实例:静态人脸 检测程序 628 15.4.1 人脸检测概述 628 15.4.2 算法分析 629 15.4.3 应用OpenCV进行 人脸检测 633 15.5 本章小结 640
VC6下数字图像处理系统-DIP_system,包含以下功能函数: ============================================================================== 第3章 ============================================================================== 相关函数: PaintDIB() - 绘制DIB对象 CreateDIBPalette() - 创建DIB对象调色板 FindDIBBits() - 返回DIB图像象素起始位置 DIBWidth() - 返回DIB宽度 DIBHeight() - 返回DIB高度 PaletteSize() - 返回DIB调色板大小 DIBNumColors() - 计算DIB调色板颜色数目 CopyHandle() - 拷贝内存块 DIBBitCount() - 该函数返回DIBBitCount SaveDIB() - 将DIB保存到指定文件中 ReadDIBFile() - 重指定文件中读取DIB对象 SetRgnColor() - 用指定的颜色填充指定的区域 SetCircleColor() - 用指定的颜色填充指定的圆形区域 以上函数为类CDIB的成员函数,CDIB类存在于DIB.h、DIB.cpp文件中。 ============================================================================== 第4章 ============================================================================== 4.1 图象的灰度变换 相关函数: ToGray() - 彩色位图转化为灰度位图 PointInvert() - 对图像进行反色变换 GetIntensity() - 对图像各颜色分量的灰度分布(数目、密度)进行统计 PointEqua() - 对图像进行灰度分布均衡化处理 GrayStretch() - 对图像进行灰度折线变换 WindowTrans() - 对图像进行灰度窗口变换 PointDZ() - 对图像进行灰度带阻变换 PointDT() - 对图像进行灰度带通变换 PointSML() - 对图像进行单映射规则直方图规定化变换 PointGML() - 对图像进行组映射规则直方图规定化变换 DynamicCompress()- 对图像进行灰度动态范围压缩处理 CutWave() - 对图像进行灰度削波处理 以上函数为类CGrayProc的成员函数,CGrayProc类存在于GrayProc.h、GrayProc.cpp文件中。 4.2 图象的正交变换 相关函数: FFT() - 一维快速付立叶变换 IFFT() - 一维快速付立叶逆变换 Fourier() - 二维快速傅立叶变换 IFourier() - 二维快速傅立叶逆变换 DCT() - 一维快速离散余弦变换 IDCT() - 一维快速离散余弦逆变换 FreqDCT() - 二维快速离散余弦变换 IFreqDCT() - 二维快速离散余弦逆变换 WALSH() - 一维沃尔什-哈达玛变换 IWALSH() - 一维沃尔什-哈达玛逆变换 FreqWALSH() - 二维沃尔什-哈达玛变换 IFreqWALSH()- 二维沃尔什-哈达玛逆变换 DIBFourier()- 图像的付立叶变换 DIBDCT() - 图像的离散余弦变换 DIBWalsh() - 图像的沃尔什-哈达玛变换 以上函数为类CFreqCalculate的成员函数,CFreqCalculate类存在于FreqCalculate.h、FreqCalculate.cpp文件中。 ============================================================================== 第5章 ============================================================================== 5.1 图像的空域滤波 相关函数: MakeEmboss() -

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值