2013-11-04 152 views
-2

我有一幅RGB圖像,我想使用閾值進行分割。我想要一些物體變白,而背景應該是藍色的。我怎樣才能做到這一點?將背景轉換爲一種顏色

我試過使用循環,但不知道如何通過正確的RGB圖像迭代。

+1

你知道哪些像素是背景像素,哪些不是背景像素? – Dan

+0

你可以發佈你正在處理的示例圖片嗎? – Shai

+0

這是非常廣泛的;你應該開始[這裏](http://www.mathworks.com/discovery/image-segmentation.html)。具體來說,嘗試使用Otsu的方法('graythresh')自動查找閾值,然後嘗試k-means等等的第一次演練。您需要了解數據以找出正確的解決方案。例如,可能需要首先對圖像進行平滑處理,也許使用Canny進行簡單的「邊緣」檢測就足夠了... – chappjc

回答

0

迭代遍歷圖像取決於語言,數據結構的使用等...下面的僞代碼可能有助於像素的簡單閾值大於某個值。您似乎表示您對多通道數據感興趣,因此您可能需要檢查每個通道並相應地將結果設置爲藍/白。

## image thresholding pseudo code 

imagea = ReadImage('yourfilehere') 
outputImage = zeros(imagea.shape) 
threshold = 100 
for i in range(imagea.shape[0]): 
    for j in range(imagea.shape[1]): 
    pixelValue = GetPixel(imagea,i,j) 
    if pixelValue>100: 
     SetPixel(outputImage,i,j,255) 
    else: 
     SetPixel(outputImage,i,j,0)