| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2343 人关注过本帖
标题:[求助]图像二值问题!
只看楼主 加入收藏
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
 问题点数:0 回复次数:17 
[求助]图像二值问题!
各位,你们好!我要从黑白的图像中读取它的像素值,当读到黑点的时候它的像素值是:0,但是当读到白点的时候它的像素值就是:16777215。请问这是怎么回事啊?读二值图像的话白的像素要么现实255的值,怎么可能是前面这个这么大的值的呢??请高手指教一下!!
搜索更多相关主题的帖子: 图像 像素 黑点 话白 
2006-07-10 11:36
lisypro
Rank: 4
等 级:业余侠客
威 望:3
帖 子:695
专家分:216
注 册:2005-9-25
收藏
得分:0 

问我呀,我刚做了一个图像处理的毕业设计


长期承接管理系统
代做各种vb/ / vc小程序
QQ:82341763
手机:13623290828
群号 11619730
2006-07-30 07:57
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
得分:0 

那请问高手怎么读二值图像啊??我真的是有急用啊!!万分感谢了啊!!小弟这里请教了!!

2006-07-31 20:20
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
得分:0 

高手怎么不来了呢??我在线等着啊!!

2006-08-01 11:58
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 
贴上你的代码偶看看

偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-08-01 15:00
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
得分:0 

void __fastcall TForm1::Button2Click(TObject *Sender)
{
lpSrc = new Graphics::TBitmap;
lpDst = new Graphics::TBitmap;

if(OpenPictureDialog1->Execute())
{
FileName = OpenPictureDialog1->FileName;

lpSrc->PixelFormat = pf1bit;
lpDst->PixelFormat = pf1bit;
lpSrc->LoadFromFile(FileName);
}
//Form1->Canvas->Draw(0,0,lpSrc);
Byte *p;
Byte r;
for(int x = 0; x < lpSrc->Height; x++)
{
p = (Byte*)(lpSrc->ScanLine[x]);
for(int y = 0; y < lpSrc->Width; y++)
{
r = p[y];
}
}


/*int value;
for(int x = 0; x < lpSrc->Height; x++)
{
for(int y = 0; y < lpSrc->Width; y++)
{
value = lpSrc->Canvas->Pixels[y][x];
}
}*/
}
我用上述两种方法,用跟踪调试显示出来的值不一样的啊!请问是为什么??图像我已经转换成了二值图像了。帮我看看,谢谢!

2006-08-02 09:25
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
得分:0 

老大咋又不来了呢??我在线等候的啊!!你有能读二值图像的程序的话,能发到我的邮箱里吗?lionli2005@hotmail.com 万分感谢!!!!

2006-08-02 20:25
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 

void __fastcall TForm1::Button2Click(TObject *Sender)
{
lpSrc = new Graphics::TBitmap;
lpDst = new Graphics::TBitmap;

if(OpenPictureDialog1->Execute())
{
FileName = OpenPictureDialog1->FileName;

// lpSrc->PixelFormat = pf1bit;
// lpDst->PixelFormat = pf1bit;
lpSrc->LoadFromFile(FileName);
Edit1->Text = lpSrc->PixelFormat;//看一下是多少

}
//Form1->Canvas->Draw(0,0,lpSrc);
Byte *p;
Byte r;
for(int x = 0; x < lpSrc->Height; x++)
{
p = (Byte*)(lpSrc->ScanLine[x]);
for(int y = 0; y < lpSrc->Width; y++)
{
r = p[y];
}
}


/*int value;
for(int x = 0; x < lpSrc->Height; x++)
{
for(int y = 0; y < lpSrc->Width; y++)
{
value = lpSrc->Canvas->Pixels[y][x];
}
}*/
}

lpSrc->PixelFormat = pf1bit;

我现在没环境,没法调试,估计是这里的错。

这样查看一下Edit1->Text = lpSrc->PixelFormat;

pf1bit的值应该是2吧?



偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-08-03 08:52
IsaacLee
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2006-3-2
收藏
得分:0 

baidu,谢谢你给我的回复,我按照你的建议看了一下。我发现Edit1里面的值是根据文件来的,我看了一下有这样的结果:二值图像(单色图),显示的是:1; 24位位图显示:6; 16色位图现实的是:2; 256色位图显示的是:3。为什么会是这样呢?请指点下。

2006-08-03 09:35
baidu
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:3811
专家分:0
注 册:2005-11-4
收藏
得分:0 



lpSrc->PixelFormat = 1;

再试试

回头晚上我调试调试看看是什么原因


偶放弃所有文章版权,偶在BCCN论坛任何贴子,可转贴,可散发,可抄袭,可复制,可被冒名顶替,可被任何人引用到任何文章中且不写出引文出处,偶分文不取。
2006-08-03 10:15
快速回复:[求助]图像二值问题!
数据加载中...
 
   



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

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