我創建了我認爲應該使用調整爲白色的CIColorMonochromeFilter
的合適灰度級CIFilter。這對我來說看起來很灰色,但我不是專家,所以我只是想知道這是否是灰度濾鏡的準確實現。如何使用CoreImage過濾器實現灰度過濾器?
我還沒有編寫代碼來轉儲和測試像素,但基於圖像的格式已經是RBG,我很好奇輸出圖像是什麼格式。例如,我將如何去了解每個像素是一個組件還是三個組件?
我知道CIImage只是一個圖像的配方,我必須使用CGImageRef來最終呈現。我只是不明白我應該期望數據是什麼像素格式。
CIFilter * monoChromeFilter = [CIFilter filterWithName:kCIColorMonochromeFilterName];
[monoChromeFilter setValue:self.inputImage forKey:kCIInputImageKey];
CIColor * white = [CIColor colorWithRed:1.0 green:1.0 blue:1.0];
[monoChromeFilter setValue:white forKey:kCIInputColorKey];
那麼,有什麼問題嗎?僅僅是你不知道如何讀取圖像的像素值?這在堆棧溢出中有很好的記錄。 – matt
或多或少,我所做的實際上是一個合適的灰度過濾器,例如單色白色==灰度。我很好奇輸出格式,但這更多的是次要問題。 –