我想將圖像轉換爲二進制黑白,在我通過像素(存儲在UnsafeMutableBufferPointer)循環使用正常的嵌套循環的時刻,比較每個RGB進行平均並將其設置爲黑色或白色,但是。變換圖像爲二進制中迅速
這似乎很慢,我相信有一個內置在使用GPU或良好優化的方式。如果您可以提供代碼示例或鏈接,那就太棒了。
for var y in 0..<height {
for var x in 0..<width{
//Pixel is small class i made for 8 bit access and comparison
if (Buffer[x+y*width] < AVRRGB) {
Buffer[x+y*width] = Pixel(RGB: 0x000000FF)
} else{
Buffer[x+y*width] = Pixel(RGB: 0xFFFFFFFF)
}
}
}
我同意你最後的陳述,應該有一些現有的lib來做這個操作,最好是使用GPU,但是「思考」 - 註釋:你目前以非順序方式訪問像素。在處理性能關鍵應用程序(如圖像處理)時,務必確保按照存儲順序依次訪問存儲器。由於你的緩衝區(看起來)只是一個很長的數組,你應該依次讀寫它的元素。 – dfri
查看[這些搜索結果](https://stackoverflow.com/search?tab=newest&q=%5bios%5d%20uiimage%20convert%20black%20white)。 – rmaddy
不要不必要地使用標籤。這個問題與Xcode完全無關。使用前請閱讀標籤說明。 – rmaddy