关于vc++数字图像处理

CZQing_ze 2012-06-04 06:07:30
最近在做关于这个的项目,那么,比如打开文件,要自己写,还是要直接用现有的代码,现有的代码是打开bmp图的,用他的又不知道是什么原理,那接下来什么阈值变换什么的要怎么做,想自己想,又不知道如何下手,大家如果碰到这种项目,是如何下手的?真心求助(IDE:VC++6.0 MFC制作)
PS:我想说应该可以打开任意格式图像的,可是真的不懂,有什么资料可以参考的吗?
PPS:MSDN的英文好痛苦
...全文
336 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

用CImage类,可以加载多种格式的图片,它可以帮你转换成位图,

至于获取位图数据,对像素处理,那就看你的实际应用了
[/Quote]
我想请问下CImage类是要去哪找。。?
码农-彬少 2012-06-05
  • 打赏
  • 举报
回复
能搞定基本需求就可以了~
faremn000 2012-06-05
  • 打赏
  • 举报
回复
CImage 可以满足基本的需求
青松2 2012-06-05
  • 打赏
  • 举报
回复
用OPENCV啊,跟吃个豆芽菜一样容易

w20120125 2012-06-05
  • 打赏
  • 举报
回复
用CImage类,可以加载多种格式的图片,它可以帮你转换成位图,

至于获取位图数据,对像素处理,那就看你的实际应用了
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
调试模式
出现
Unhandled exception in "vc8.exe": 0xC0000005: Access violation
fronz 2012-06-05
  • 打赏
  • 举报
回复
系统在窗体移动时,会发出消息,需要程序自己重新绘制,你程序中是否含有重绘响应函数?对你的origin有些疑问,是否正确使用了,给个我以前编的类似例子参考一下。希望有帮助

CSplitView::OnDraw(CDC* pDC)
{ CRect rect;
GetClientRect(rect);
CBrush brush_back;

CBitmap m_bitmap;
m_bitmap.LoadBitmap(IDB_BITMAP1);

BITMAP bm;
m_bitmap.GetObject(sizeof(BITMAP),&bm);

CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap *pOldBitmap=MemDC.SelectObject(&m_bitmap);

pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&MemDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
MemDC.SelectObject(pOldBitmap);

MemDC.DeleteDC();
pDC ->DeleteDC();
m_bitmap.DeleteObject();
..................................
}
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

可以试试CxImage、OpenCV
[/Quote]
这个是?
CxImage应该是gdi+吧?
fengbingchun 2012-06-05
  • 打赏
  • 举报
回复
可以试试CxImage、OpenCV
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 9 楼 的回复:

每种类型的图像数据格式或压缩算法都不一样,如果只是显示和相互转换找一些封装好的图像类吧。如果想自己转换或加入自己的图像处理算法,一定要搞通数据格式。这个没有捷径。

移动窗体,系统要重绘,你这个函数写得有问题,读下MSDN,注意前四个是目的坐标参数,后四个是原图参数。根据你自己需要和处理流程,改一下。
[/Quote]
看了,这是书上写的,参数应该没错,可是一按放大窗口或者移动一下窗口,图片就不见了,然后程序停止响应
fronz 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

每种类型的图像数据格式或压缩算法都不一样,如果只是显示和相互转换找一些封装好的图像类吧。如果想自己转换或加入自己的图像处理算法,一定要搞通数据格式。这个没有捷径。
[/Quote]
移动窗体,系统要重绘,你这个函数写得有问题,读下MSDN,注意前四个是目的坐标参数,后四个是原图参数。根据你自己需要和处理流程,改一下。
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

每种类型的图像数据格式或压缩算法都不一样,如果只是显示和相互转换找一些封装好的图像类吧。如果想自己转换或加入自己的图像处理算法,一定要搞通数据格式。这个没有捷径。
[/Quote]
嗯。然后我自己用GDI写了
可是用GDI打开BMP图像的时候 只要一移动图片文档框 或者最大化文档框,就直接挂了 调试错误在
//将DIB在pDC所指向的设备上进行显示
::StretchDIBits(pDC->GetSafeHdc(), origin.x, origin.y, size.cx, size.cy,
0, 0, m_lpBmpInfoHead->biWidth, m_lpBmpInfoHead->biHeight,m_pImgData,
(LPBITMAPINFO) m_lpBmpInfoHead, DIB_RGB_COLORS, SRCCOPY);
这是怎么回事啊?
fronz 2012-06-05
  • 打赏
  • 举报
回复
每种类型的图像数据格式或压缩算法都不一样,如果只是显示和相互转换找一些封装好的图像类吧。如果想自己转换或加入自己的图像处理算法,一定要搞通数据格式。这个没有捷径。
CZQing_ze 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

msdn可以查到的
[/Quote]
可以给个QQ吗?还有些问题想请教您
w20120125 2012-06-05
  • 打赏
  • 举报
回复
msdn可以查到的
CZQing_ze 2012-06-04
  • 打赏
  • 举报
回复
坐等指导,诚心求

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧