基于VC的图像边缘提取系统应该实现哪些功能? 30

边缘检测的方法是不是就是边缘提取?像Sobel算子,Robort算子,Prewitt算子等。边缘提取穷尽法,IGA、SGA又是什么?... 边缘检测的方法是不是就是边缘提取?像Sobel算子,Robort算子,Prewitt算子等。
边缘提取 穷尽法,IGA、SGA又是什么?
展开
 我来答
山水阿锐
2015-04-23 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.3亿
展开全部
您好,一、图像的打开、关闭、保存
对于大多数人来说,在设计图像处理系统时,最大的难点就是对图像的打开、关闭和保存。由于时间及能力原因,对于现存的所有的图像文件格式,本文主要介绍 BMP图像文件格式,BMP文件里的图像数据是未压缩的,因为图像的数字化处理主要是对图像中的各个像素进行相应的处理,而未压缩的BMP图像中的像素数 值正好与实际要处理的数字图像相对应,这种格式的文件最合适对之进行数字化处理。请读者记住,压缩过的图像是无法直接进行数字化处理的,如JPEG、 GIF等格式的文件,此时首先要对图像文件解压缩,这就要涉及到一些比较复杂的压缩算法。在第二章 第二节的位图文件格式中已给出了位图的文件格式:位图文件头BITMAPFILEHEADER、位图信息头BITMAPFILEHEADER、调色板 RGBQUAD等位图基本信息。因为,对于图像的打开、关闭、保存等操作如下所操作。 (一) 图像的打开、显示如下: (1) 开始
(2) 得到文件完整路径名 (3) 打开位图文件
(4) 读取BITMAPELEHEADER结构
(5) 文件是BMP格式吗?(否则转到(14)) (6) 是否带有颜色索引?(否则转到(15)) (7) 使用文件中颜色表数据创建调色板
(8) 把新创的调色板作为设备环境的调色板并保留原调色板 。
(9) 设定显示参数,显示位图。
(10) 恢复原调色板
(11) 得到位图大小并分配相应内存空间 (12) 读取BITMAPELEHEADER结构
(13) 计算像素起始位置,保存像素数据起始位置指针 (14) 结束
(15) 设定显示参数,显示位图 并转到(11)
BMP位图包括位图文件头结构BITMAPFILEHEADER、位图信息头结构
BITMAPINFOHEADER、位图颜色表RGBQUAD和位 图像素数据四部分。处理位图时要根据文件的这些结构得到位图文件大小、位图的宽、高、实现调色板、得到位图像素值等等。这里要注意的一点是在BMP位图 中,位图的每行像素值要填充到一个四字节边界,即位图每行所占的存储长度为四字节的倍数,不足时将多余位用0填充。
启动Visual C++,生成一个名为Imgcx的单文档程序。在处理图像应用程序的文档类(Global.h)中声明如下宏及公有变量: 建立图像表示用Dib:
EXIMPORT int CreateDispDib(CDC* pDC, int xsize, int ysize); 消除Dib:
EXIMPORT void DeleteDispDib(void); 建立参考窗口读入图像:
EXIMPORT int Load_imagefile_bmp();
直接输入文件名读入图像:
EXIMPORT int Load_original_image(CString filename); 读灰度图像数据到设定内存:
EXIMPORT int ReadImageData(BYTE *image);
读彩色图像数据到设定内存: EXIMPORT int ReadImageDataRGB(BYTE *imageR, BYTE *imageG, BYTE *imageB); 图像保存:
EXIMPORT BOOL Save_imagefile_bmp(); 图像另存为:
EXIMPORT BOOL SaveAs_imagefile_bmp(); 获得图像横向大小:
EXIMPORT int GetXSize(); 获得图像纵向大小:
EXIMPORT int GetYSize();
获得图像数据指针:
EXIMPORT LPBYTE GetImage();
获得图像类型(8 = 灰度、24 = 彩色): EXIMPORT int GetImageType();
表示内存内的灰度图像:
EXIMPORT void Disp_image(BYTE *image);
表示内存内的彩色图像:
EXIMPORT void Disp_imageRGB( BYTE *imageR, BYTE *imageG, BYTE *imageB); 获得表示图像的名称:
EXIMPORT void GetImageFileName(char *cFileName); 设定表示图像的名称:
EXIMPORT void PutImageFileName(CString fn); 获得表示的Dib:
EXIMPORT CDib* GetDib(void); 设定表示的Dib:
EXIMPORT void PutDib(CDib *pDib); 彩色图像变灰度图像
EXIMPORT int Color_to_mono(); 图像打开实现步骤:
1、读入位图文件 2、设定图像窗口大小 3、更新画面
4、判断图像格式 5为新图像分配内存 6、更新画面 。
追问
我就想知道,图像边缘提取和边缘检测是不是一个意思。或者说是图像要提取出来才能检测的意思。
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式