| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1039 人关注过本帖
标题:关于图像二值化的指针问题
只看楼主 加入收藏
kfish
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-13
收藏
 问题点数:0 回复次数:3 
关于图像二值化的指针问题
我现在正在用VC做条形码的识别.由于刚接触的原因,大体的思路是有了,源代码也完成了,只是对于在VC上把源代码
连接做成一体不怎么明白,以下是我的二值化源代码:
BOOL CKkkView::Binary(LPSTR lpDIBBits,BYTE bThre)
{
int i,j,LineTypes;
GetSize(lpDIBBits);
LineTypes=WIDTHBYTES(bmWidth*8);
for(i=0;i<bmHeight;i++)
for(j=0;j<bmWidth;j++)
{
lpSrc=(unsigned char*)lpDIBBits
+LineTypes*(bmHeight-1-i)+j;
if((*lpSrc)<bThre)
*lpSrc=0;
else
*lpSrc=255;
}
return true;
}
//LPSTR lpDIBBits:指向源DIB图像的指针,
对这个指针我一直不明白怎么样获取,我的图像是显示在单文档的窗口中,左上角显示.
先谢了.....
搜索更多相关主题的帖子: 指针 图像 
2006-03-13 13:57
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

看你的程序的大概意思是把一张0~255亮度的图换成了一张binary的黑白图。而且lpDIBBits竟然是个一维数组。你的单文档的base class是什么? 是CView 还是 CFormView?


http://myajax95./
2006-03-13 14:25
kfish
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-3-13
收藏
得分:0 
base class是CScrollView.
先注释一下~
lpSrc=(unsigned char*)lpDIBBits
+LineTypes*(bmHeight-1-i)+j;
//lpSrc指向图像第i行.第j个像素的指针.
//BYTE bThre:阈值
//LineTypes=WIDTHBYTES(bmWidth*8);计算图像每行的字节数.
可能一开始定义基类的时候我想到了图像的大小所以定义成了滚动条~~~

[此贴子已经被作者于2006-3-13 14:34:10编辑过]

2006-03-13 14:33
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 
刚刚看了一下MSDN里关于DIB的例子,看来看不到全段的程序我是无法指出怎么从view的DIB里获得lpDIBBits这个array的了。十分抱歉。

http://myajax95./
2006-03-13 16:12
快速回复:关于图像二值化的指针问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045946 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved