灰度图像 阀值变换

灰度图像阀值变换

基本公式

f(x) = 0 ( x < T)

f(x) = 255 (x>=T)   T为给定的阀值

VC代码:

当图像的像素点的灰度大于T的时候,设置这个点为全黑,要不然为全白。这样可以只选择我们感兴趣的领域。

一下代码转自数字图像与机器视觉:

void CImgProcess::Threshold(CImgProcess *pTo, BYTE bThre)
{
int i, j;
BYTE bt;
for(j = 0; j < m_pBMIH->biHeight; j ++)
{
for(i=0; i<m_pBMIH->biWidth; i++)
{
bt = GetGray(i, j);
if(bt<bThre)
bt = 0;
else
bt = 255;

pTo->SetPixel(i, j, RGB(bt, bt, bt));
}
}
}

相应的matlab代码:

I = imread('rice.png);
thresh = graythresh(I);//自适应设置阀值
bw1 = im2bw(I, thresh);
bw2 = im2bw(I, 130/255);//手工设置阀值
subplot(1,3,1);imshow(I);
subplot(1,3,2);imshow(bw1);
subplot(1,3,3);imshow(bw2); 

你可能感兴趣的:(matlab,byte,IM,BT)