![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像处理
fztfztfzt
这个作者很懒,什么都没留下…
展开
-
读取bmp图片
对bmp处理 注意宽度必须是4的倍数(字节) 将bmp内容读取到unsigned char格式的内存中,直接对该内存进行处理,未对特殊字符 00 ff cd进行处理,在opengl读取纹理中使用glTexImage2D会因此出错 MyBitmap.h#pragma once#include "stdafx.h"#include <cmath>class MyBitmap{public:原创 2015-03-23 10:01:09 · 390 阅读 · 0 评论 -
图像分割
根据不同领域的不同需要,往往只对原始图像的某一部分进行处理,这些部分一般来说具有特定的灰度 纹理等特征,图像分割就是根据图像在各个区域的不同特性,而对齐进行边界或区域的分割,并从中提取所关心的目标。图像分割算法可划分为4类:并行边界分割算法,串行边界分割算法,并行区域分割算法,串行区域分割算法。并行边界分割算法:图像边缘:图像局部区域亮度变化最显著的部分,该原创 2015-05-02 11:19:22 · 468 阅读 · 0 评论 -
图像增强 空域滤波和频域滤波
图像的真强即为图像的滤波,分为空间滤波和频域滤波空间滤波可分为线性滤波和非线性滤波空域滤波算法在进行高通或低通滤波时,采用的手法都是一样的,即小区域模版卷积1.线性平滑滤波器:用3*3模版中心与待处理图像的每个像素点重合,将模版各值与其下像素点相乘,几种典型模版:{0,1,0,1,1,1,0,1,0,4,3},{1,1,1原创 2015-05-02 11:17:41 · 5859 阅读 · 0 评论 -
图像的正交变换---沃尔什——哈达马变换
/************************************************************************* * * 函数名称: * WALSH() * * 参数: * double* f - 输入的时域序列 * double* F - 输出的频域序列 * int r - 2的幂数 * * 返回值: * BOOL原创 2015-05-02 11:16:53 · 4601 阅读 · 0 评论 -
图像的正交变换---离散余弦变换
/************************************************************************* * * 函数名称: * DCT() * * 参数: * double * f - 指向时域值的指针 * double * F - 指向频域值的指针 * r -2的幂数 * * 返回值: * 无。 * * 说明原创 2015-05-02 11:17:17 · 980 阅读 · 0 评论 -
图像的正交变换----傅立叶变换
处理图像的空间:图像域(空间域)和变换域(频率域)傅立叶变换:/************************************************************************* * * 函数名称: * FFT() * * 参数: * complex * TD - 指向时域数组的指针 * complex * FD - 指向频域数组的指针 *原创 2015-05-02 11:14:47 · 1131 阅读 · 0 评论 -
微调 一些改动
初始化值: View中指针赋 yBmp.GetBmp()=NULL; gray = NULL; 2.需要修改MyBitmap类中的成员函数的返回形式:nsigned char *&GetBmp(); 3.修改了图片的显示方式:以对话框形式出现,因此增加一个图片显示对话框类 4.增加创建窗口函数:voidCMyTestView::CreateDlg(CString name,BYTE *原创 2015-05-02 10:44:00 · 275 阅读 · 0 评论 -
图片显示 类
利用直方图的对话框资源IDD_HISTOGRAM,关联类文件:enum{ IDD = IDD_HISTOGRAM }; 更改 开始的宏定义名称 调用:BmpDlg *bmpdlg = new BmpDlg();bmpdlg->Init(gray,myBmp.GetBmpWidth(),myBmp.GetHeight());bmpdlg->Create(IDD_HISTOGRAM,this);原创 2015-05-02 10:39:15 · 340 阅读 · 0 评论 -
灰度变换
灰度线性变换公式: D0=EH(D1) = aD1+b (变换后的像素点等于原像素点经一次线性变换得到) 包括:反色,折线变换 ,窗口变换 非线性变换 公式:D0=EH(D1)=Clog(1+|D1|) 包括:log 动态压缩变换, 将24位位图转换成灰度图:/*****************************************************************原创 2015-05-02 11:13:00 · 853 阅读 · 0 评论 -
直方图类的建立和使用 灰度直方图和彩色直方图
使用Histogram类时,先新建一个对话框用于显示直方图,ID为IDD_HISTOGRAM,调整大小即可 使用非模态对话框方式调用最好,例: 使用Init为灰度直方图或彩色直方图初始化Histogram *hisDlg = new Histogram(); hisDlg->Init(grayIns,0); hisDlg->m_fileName = myBmp.GetBmpNam原创 2015-03-24 12:37:45 · 433 阅读 · 0 评论 -
图像的腐蚀与膨胀
腐蚀:对一幅图像取位移再求交得到,用于从一幅图像中去除小而无用的目标膨胀:对一幅图像取位移再求并得到,连接图像中的断续点和填补图像中的空洞。腐蚀与膨胀不是逆运算,因为由腐蚀得到的图像不是都能通过膨胀复原开启:先腐蚀在膨胀 可看作是腐蚀图像的膨胀恢复闭合:先膨胀在腐蚀 可看作是膨胀图像的腐蚀恢复//腐蚀OR膨胀数组const KERNEL kernel_erosion[]原创 2015-05-02 11:20:31 · 1082 阅读 · 0 评论