2014-02-28 5 views
1

"거칠은 꿈,"난 그렇게 (pseudoC 번호)와 같은 방법으로 이미지를 전달하는 데 싶습니다이미지를 프로그래밍 방식으로 색칠 할 수 있습니까? 내에서

string pathToOriginalImg = @"http://commons.wikimedia.org/wiki/File:Mark_Twain_by_AF_Bradley.jpg"; 
Image colorizedImg = new ColorizeImage(pathToOriginalImg, [array of colors]); 

IOW은 이미지의 경로를 통과 함께하는 방법에 색상 화 될 색상 화에 사용하려는 색상 배열. 예를 들어 마크 트웨인의 이미지를 "스페인어로"원한다면 스페인과 멕시코 국기의 색상을 전달할 수 있습니다. 예 : Forest Green, White, MexicanRed; SpanishRed, 노란색.

이런 일이 가능한가, 아니면 내가 그런 기분으로 오두막에 잠깐 머물렀을 까?

+1

이미지의 각 단일 픽셀의 색상을 쉽게 변경할 수 있습니다. 완전히 다른 이야기는 이러한 변화가 당신에게 의미가 있다는 것입니다. 최종 이미지는 원하는대로 정확하게 나타납니다. 그림을 일련의 연속 된 사각형 (수백만 개)으로 간주하십시오. 다소 복잡하거나 동기화 된 수정을 수행하는 것은 매우 어려운 작업이 될 수 있습니다. – varocarbas

+0

음 - 앞뒤 예? –

+1

흠, 흥미 롭습니다. 표준 '포스터 라이즈'기능을 사용하여 이미지를 많은 색상으로 변환 한 다음 다른 색상으로 각 색상을 대상으로 바꿀 수 있다고 가정합니다. 비록 그것이 좋을지 모르겠지만 ... – Starscream1984

답변

2

것이 가능하지만 매우 복잡하다 ... 다른 색상 공간으로 이미지의 색상을 변환하는 데 필요한 모든의

첫째. RGB 하나는 내가 말한다면 인간의 색상 인식의 특성을 가지고 있지 않습니다. 좋은 결과를 원한다면 HSL과 같은 다른 것을 사용해야 할 것입니다. 다른 값으로 HSL와 http://en.wikipedia.org/wiki/Color_space

는 수 "이동"일부 색상 만 명도와 채도 매개 변수를 유지 :

는 다른 색 공간 여기를 참조하십시오.

여기에서 가장 큰 문제는 색상을 이동할시기를 알고 그 위치를 유지해야하는 경우이며, 결과가 첫 번째 시도에서 이상하게 보일 수 있다고 생각합니다.

또한 이미지의 어떤 픽셀을 색조 구성 요소를 수정해야하는지 결정하기 전에 어떤 종류의 색상 분석을 실행해야 할 수도 있습니다. 예를 들어, 낟알 가장자리 감지 알고리즘을 사용하여 색상이 상당히 균일 한 이미지 부분을 감지하고 감지 된 가장자리에서 색상 대체 대신 보간법을 사용할 수 있습니다. 그것은 다른 많은 방법이있을 수 있다는 아이디어 일뿐입니다.

이것은 어떻게 달성 할 수 있었는지에 대한 폭 넓은 설명입니다. How to harmonize a color image

은 또한 구글은 몇 가지 단서를 줄 수에 대한 Color harmonization 검색 :

나는이 링크이 될 수있는 당신에게 시작을 이미지에 사용 된 색상 조작에 대한 몇 가지 유용한 정보를 제공 할 수있을 것.

나는 언젠가이 클립을 시도하고, 언젠가 나는 그것을 파헤 치고 사용 된 부호를 배치 할 수있다. 색상 공간 변환 등의 유용한 도구가 제 코드에 있습니다. 최적화되지 않았지만 진행 방법을 파악할 때 유용합니다.

1

this 게시물에 대답은 그 이미지를 통해 오버레이를 생성, 그 오버레이 깃발이 될 수 당신을 도울 수 또는 당신이 원하는 무엇이든 할 수

3

귀하의 설명이 기반으로 새로운 색상을 소스 색상을지도 pseudocoloring을 닮았다 매핑 패턴에. 물론, 어떻게 완벽하게 매핑 할 것인가는 당신에 달려 있으며 모든 이미지에 대해 그것을 자동화하는 것은 (어쨌든) 최선으로는 거의 불가능합니다. 그러나 일반 규칙을 정의 할 수 있습니다. 예를 들어, 노란색, 파란색, 그레이 스케일 58 %와 같이 사용할 수있는 경우 항상 녹색 중 하나로 매핑하려고합니다. here을 읽으면 추가 아이디어를 얻을 수 있습니다. 256 색 RGB 이미지를 원본으로, 6 색을 대상 이미지로 사용하는 경우 256으로 6을 나눌 수 있으며 모든 "색 영역"에 대해 대상 색 배열에서 새 색을 제공합니다. 결과 이미지에는 6 색만 있고 세부 사항은 거의 사라질 것입니다.

1

이미지에 색인 색과 색 참조 테이블 (LUT)을 사용하는 경우 해당 색인을 사용하는 모든 픽셀이 변경되도록 LUT을 변경하면됩니다.

이미지에 LUT가 사용되지 않았지만 유틸리티를 사용하여 이미지를 사용할 수 있습니다. ImageMagick ("-colors"명령을 사용)과 같은 것이 색 감소를 수행 한 다음 팔레 타이 징 된 이미지를 쓸 수 있습니다. 먼저 다른 이미지의 LUT를 사용하면 색이 바뀌 었습니다 (ImageMagick "-clut"명령을 사용하십시오).