簡體   English   中英

創建一個動態窗口以使用C#掃描圖像

[英]Create a dynamic window to scan an image in C#

我是C#的初學者,下面介紹了一種荒謬的方法。

如果我想創建一個3x3窗口並查找這9個像素的平均值,請按照以下方式操作:

IM[i - 1, j - 1]
IM[i - 1, j]
IM[i - 1, j + 1]
IM[i, j - 1]
IM[i, j + 1]
IM[i - 1, j - 1]
IM[i - 1, j]
IM[i - 1, j + 1]
IM[i, j]

如果我想創建一個5x5的窗口並將其放在每個像素上以查找這25個像素的平均值,請按照以下方式操作:

IM[i - 2, j - 2]
IM[i - 1, j - 2]
IM[i, j - 2]
IM[i + 1, j - 2]
IM[i + 2, j - 2]
IM[i - 2, j - 1]
IM[i - 1, j - 1]
IM[i, j - 1]
IM[i + 1, j - 1]
IM[i + 2, j - 1]
IM[i - 2, j]
IM[i - 1, j]
IM[i, j]
IM[i + 1, j]
IM[i + 2, j]
IM[i - 2, j + 1]
IM[i - 1, j + 1]
IM[i, j + 1]
IM[i + 1, j + 1]
IM[i + 2, j + 1]
IM[i - 2, j + 2]
IM[i - 1, j + 2]
IM[i, j + 2]
IM[i + 1, j + 2]
IM[i + 2, j + 2]

如果要創建7x7或更多的窗口,則很難在7x7窗口中寫入每個像素的位置。

我想創建動態窗口,其大小由用戶定義。 我怎樣才能做到這一點? 有什么辦法嗎?

您可以將其擴展為任意大小的盒子(用您感興趣的數字替換3)。

for(int x=-3; x <= 3; x++)
{
    for (int y=-3; y <= 3; y++)
    {
        IM[i+ x, j + y] //theres your reference, if you're going to get the average you can add it to a sum or whatever
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM