工控编程吧
标题:
130上位机VC MFC提取图片的轮廓信息
[打印本页]
作者:
qq263946146
时间:
2015-12-28 21:38
标题:
130上位机VC MFC提取图片的轮廓信息
(, 下载次数: 1)
上传
点击文件名下载附件
130上位机VC MFC提取图片的轮廓信息
功能展示
图片轮廓的提取是为了实现图像的识别,我们当前例程简单的实现了图片轮廓的提取,点击提取后,左力的轮廓被提取出,在右图以黑色画笔画出,效果如图;
要点提示
我们例程主要是通过设备上下文类CDC中函数简单实现GetPixel() 获取指定点的颜色值,SetPixel()设置指定点的颜色值;
实现功能
1.新建基于对话框的应用程序
2.添加不位图到工程中作为测试提取轮廓用。
拖拽一图片控件用于显示要提取的图片,修改ID为IDC_BMP,类型设置为位图,位图ID指定为刚添加位图ID,关联变量CStatic m_BMP;;
拖拽一图片控件用于显示提取的轮廓,修改ID为IDC_BMP1,类型为矩形,关联变量CStatic m_BMP;
3.添加一按钮,关联函数,实现轮廓提取
void CGkbc8Dlg::OnExtrace()
{
CDC* pDC = m_BMP.GetDC();
CDC* pDCBMP1 = m_BMP1.GetDC();
CRect rc;
m_BMP.GetClientRect(&rc);
for (int x = 0;x<rc.right;x++)
{
for (int y=0;y<rc.bottom;y++)
{
COLORREF Color;
Color = pDC->GetPixel(x,y);
if ((Color ==RGB(255,255,255)))
{
pDCBMP1->SetPixel(x,y,RGB(0,0,0));
}
}
}
m_BMP.ReleaseDC(pDC);
m_BMP1.ReleaseDC(pDCBMP1);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/fe97043e1a69266634b338d3cfe2c789/0/0/w_19rtd0mrzl.swf-albumId=5102140509-tvId=5102140509-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4