2013-06-18 4 views
2

이 방법은 추가 처리를 위해 잘 오브젝트를 표시하지 않을 수 광 강도를 생산 회색으로 변환하는 것이 더 낫습니까?

enter image description here

보다 그레이 스케일 (RGB) 이미지를 변환하는 더 나은 방법이있다. 예를 들어 핫스팟이나 반사 효과가있는 경우 이러한 회색조의 눈에 띄는 개체로 표시됩니다.

다른 색상 공간 인 Lab을 실험하고 있지만 대비가 좋지 않습니다.

답변

2

사람들은 실제로 "그림자"와 "반사"라는 용어를 식별 할 수 있으므로 매우 높은 수준의 조작임을 나타냅니다. 또한, 이러한 효과로 인해 사람이 "맹목적으로"되거나 혼란 스러울 수 있습니다. 그래서 나는 "아니오, 다른 휘도 효과를 제거 할 수있는 낮은 수준의 방법이 없다"고 할 것입니다.

밝기가 왜곡 된 인접한 영역 (색조 및 채도와 같은 큐, "지그 소 퍼즐"을 형성하는지 여부 등)에 따라 모듈을 만들고 스티치 할 수 있습니다.

저는 이미지에서 그림자를 확실히 극복하기 위해 잘 작동했기 때문에 HSV를 권장합니다.

4

레시피를 요구하는 것만 큼 간단하지 않습니다. 필요한 것을 정의해야합니다.

아날로그 TV 방송의 휘도와 색차를 별도로 인코딩 할 필요가있을 때 컬러 TV의 초기 시대로 거슬러 올라간다는 사실을 고려하면 훨씬 적은 대역폭이 필요하다는 사실을 고려해야합니다. 루마보다 채도를 전송할 수 있습니다. 인코딩은 황색 - 녹색 밴드의 인간 망막에서 원뿔의 상대적 민감도와 매우 밀접하게 관련되어 있습니다.

맹목적으로 사용하는 이유는 없습니다. 오히려 원하는 변환의 목표가 무엇인지 명확하게 표현하고 그 목표를 (정량화 가능한) 기준으로 변환 한 다음 해당 기준을 최적화하는 특정 변환을 찾으십시오. 변환은 전역 적 (예 : 사용한 TV와 유사)이거나 적응 적 (즉, 현재 픽셀의 이웃에있는 색상 값에 따라 다름) 일 수 있으며 선형 (TV 다시 한 번과 같음) 일 수도 있고 그렇지 않을 수도 있습니다 .

1

실험실에서 사용할 수있는 속임수는 L 채널을 무시한 다음 다른 두 채널 만 색상이 변합니다. 밝은 빛이 비추는 물체의 경계를 찾으려는 경우 매우 효과적 일 수 있습니다.

Lab과 같이 색상 정보와 밝기를 구분하는 많은 다른 색상 공간이 있습니다. 몇 가지 예는 HSV, YUV, YCrCb입니다. 이 중 가장 좋은 것을 선택하고 밝기를 버리고 두 가지 색상의 채널로 작업하십시오.

Lab은 눈의 비선형 성을 일치시키려는 '지각 적'색 공간으로, 서로 가깝게있는 Lab 번호는 사람과 매우 유사하게 인식되지만 Lab 번호는 크게 차이가납니다 . 매우 다른 것처럼 RGB 그렇게 잘 작동하지 않습니다 당신이 언급 한 변환에 대한


일부 노트 :..

는 OpenCV의에서 사용 CV_RGB2GRAY 변환, 그것은 당신이 언급 한 coefficeints를 사용하는 경우를 그러나 이러한 여부입니다 사용할 올바른 숫자는 갖고있는 RGB의 맛에 달려 있습니다.

숫자는 BT 용입니다.NTSC 및 PAL과 같은 아날로그 TV에서 사용되는 601 가지 기본 아이콘. 최신 HDTV 및 컴퓨터 모니터 및 프린터에서 널리 사용되는 sRGB는 BT를 사용합니다. 이 경우 변환은 Y = 0.2126 R + 0.7152 G + 0.0722 B 여야하며 여기서 Y는 CIE 1931에 정의 된 것과 같습니다. Lab의 L 채널은 또한 CIE 1931 휘도 값에 해당합니다.

그런 다음 sRGB보다 더 많은 색상을 표현할 수있는 Adobe RGB가 있습니다 (더 넓은 "영역"을 가짐). 그러나 나는 OpenCV가 그것을위한 변환을 가지고 있다고 생각하지 않는다.

RGB를 그레이 스케일로 변환하는 가장 좋은 방법은 이미지의 출처와 원하는 작업에 따라 다릅니다.

OpenCV cvtColor() 설명서를 살펴 보는 것이 좋습니다.

+0

'L'을 무시하는 것은 내가 마지막으로 수행하는 작업입니다. 그것이 나를 위해 이상한, 나는 표준 변환이 흑백이어야한다고 생각하기 때문에 동의한다. 아마 이것은 내 구체적인 임무 때문일 것입니다. –