필터에 대한 개발은 여기에 작업에 매우 적합한 도구가 아닙니다. 필터는 픽셀 단위의 색상 이동 알고리즘을 이미지의 모든 픽셀에 적용합니다.
흰색으로 바꾸려는 픽셀에 대해 완전히 고유 한 것이 있으면 적절할 것입니다. 예를 들어, 제거하려는 배경이 이미지의 다른 부분에서 발생하지 않는 매우 좁은 색상 범위에있는 경우입니다. 이는 그린 스크린/블루 스크린 촬영에서 사용되는 기술로, 보존하려는 이미지 영역의 어느 곳에서도 녹색 또는 파란색 색상이 나타나지 않는 경우에만 작동합니다.
하지만 의견에서 말한 것처럼, 제거하려는 회색 수준이 배경에만 적용되지는 않으므로이를 적용 할 수있는 필터를 사용해도됩니다. 스캔 한 피사체의 픽셀에 영향을줍니다.
정말로 필요한 것은 관심 영역을 선택하고 그 영역에만 필터를 적용하는 방법입니다. 이 경우 openCV을 사용할 수 있습니다. 사실 그것은 한 번에 당신의 결과를 얻을 수있는 기능을 가지고있다 :이 기능은 배경의 일부가 될 것입니다 보장 할 수있는 픽셀 수해야 seedPoint에서 시작
http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html?highlight=floodfill#int
floodFill(InputOutputArray image, //image to process
Point seedPoint, //starting pixel
Scalar newVal, //New value of the repainted domain pixels
Rect* rect, //optional output param (you won't need it)
Scalar loDiff, //max lower brightness/colour diff to select
Scalar upDiff, //max upper brightness/colour diff to select
int flags) //you want FLOODFILL_FIXED_RANGE
회색으로 제거하고 싶습니다. (0,0)이 도움이 될 수 있습니다. 그런 다음 ROI 배열에있는 픽셀을 포함하여 인접 픽셀을 충분히 비교합니다. 결과 배열은 연결된 영역입니다. 배경 회색이 loDiff와 upDiff 사이에서 균일하게 떨어지는 경우 - 대상 스캔에이 범위에 속하지 않는 가장자리가 정의되어 있으면 결과를 얻고 모든 배경 픽셀을 newVal (흰색)로 다시 매핑합니다.
SDK가 지원되는 방법이 있는지 모르겠습니다. iOS의 Core Image 프레임 워크에 대해 읽었습니까? 네이티브가 없다면, 그리고 스스로 결정하기로 결정했다면 [이]에 대한 내 대답 (http://stackoverflow.com/questions/7171679/want-to-change-a-particular-color-inside -an-image-with-another-color-iphone/7172066 # 7172066) 스레드가 도움이 될 수 있습니다. – Krishnabhadra
당신의 답을위한 탁구. 나는 찾을 수 없었다, 나는 mac os sdk에서 네이티브가 아무것도 없다고 생각한다 ... 그러나 당신이 이해할 때 당신의 예에서는 색을 다른 것으로 바꾼다. 하지만 제 경우에는 영역을 분석해야합니다. 삭제하고자하는 부분을 스캔 한 시트에 놓을 수 있습니다. –
나는 그것이 내 대답이 도움이 될 것이라고 말한 이유에 동의한다. 내 대답 대신 당신의 질문에 답할 것이다. 패턴 매칭이나 색을 바꿀 영역을 찾기 위해 뭔가를해야 할 것입니다. – Krishnabhadra