首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

Symbian图像处理的疑惑?该如何处理

2012-01-31 
Symbian图像处理的疑惑?我经由ImageConver框加的基础上读进了一个灰度图,但是只做了一个简单的全局阈值的

Symbian图像处理的疑惑?
我经由ImageConver框加的基础上读进了一个灰度图,但是只做了一个简单的全局阈值的二值化处理,结果却很怪异。并没有得到与 用VC 或 Matlab 采用同样阈值处理后的二值图呢? 反而得到的是一副很不理想的黑点很多的图像(无论怎么调阈值,除非变为全白或全黑)。想请教一下是怎么回事,另外有没有专门介绍Symbain图像处理的文章呢?
谢谢指教!!!!

[解决办法]

CFbsBitmap* bmpGray = new (ELeave) CFbsBitmap();
TUint32 pixel;
TReal gray;
TInt xPos, yPos;
TSize inSize = iBitmap->SizeInPixels();
User::LeaveIfError(bmpGray->Create(TSize(inSize.iHeight,inSize.iWidth), EGray256));

TBitmapUtil bitmapUtil(iBitmap);
TBitmapUtil bitmapUtilGray(bmpGray);
bitmapUtil.Begin(TPoint(0,0)); 
bitmapUtilGray.Begin(TPoint(0,0),bitmapUtil); 
for (yPos=0;yPos<inSize.iHeight;yPos++)
{
for (xPos=0;xPos<inSize.iWidth;xPos++) 
{
bitmapUtil.SetPos(TPoint(yPos,xPos));
bitmapUtilGray.SetPos(TPoint(yPos,xPos));

pixel = bitmapUtil.GetPixel();

TRgb rgb = TRgb(pixel);
gray = rgb.Blue()*0.11 + rgb.Green()*0.59 + rgb.Red()*0.3;
TInt64 gry(gray);
bitmapUtilGray.SetPixel(gry.GetTInt());
}
}
bitmapUtil.End();
bitmapUtilGray.End();

热点排行