cgo*_*gon 10 c# image-processing
我有一个非常简单的图像处理应用程序.
我试图删除不涉及红色调的像素.
到目前为止,基本代码似乎实现了我想要的.
private void removeUnRedCellsBtn_Click(object sender, EventArgs e)
{
byte threshold = Convert.ToByte(diffTxtBox.Text);
byte r, g, b;
for (int i = 0; i < m_Bitmap.Width; i++)
{
for (int j = 0; j < m_Bitmap.Height; j++)
{
r = im_matrix[i, j].R;
g = im_matrix[i, j].G;
b = im_matrix[i, j].B;
if ((r - b) < threshold || (r - g) < threshold)
{
m_Bitmap.SetPixel(i, j, Color.White);
}
}
}
pictureArea_PictureBox.Image = m_Bitmap;
}
Run Code Online (Sandbox Code Playgroud)
基本上,如果(红色和蓝色)或(红色和绿色)的差异小于阈值,则将像素设置为白色.
我的结果似乎很有希望,但我想知道是否有更好的解决方案来确定像素是否涉及红色调.
我的阈值为75的结果是

任何算法或思想都将非常感激.
提前致谢

| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |