2017-12-11 25 views
0

200x 현미경에 카메라가 부착되어 있습니다. 이미지는 카메라 매트릭스 또는 번개 또는 둘 모두에 의해 발생되는 밝기의 불균일 한 분포를 보여줍니다.광학계의 이미지 밝기를 균등화하십시오.

imagediagonal profile

나는 픽셀의 명도를 맞춰야합니다. 내가 호출에 사용할 수있는 자료를 찾는 것은 쉽지 않습니다. 용지 그 현미경은 풍경처럼 보입니다. 표면은 평등하지 않습니다. 내 생각은 장치 보정 중에 현미경을 초점에서 제외하고 이미지를 만드는 것입니다. 그 분포를 사용하여 픽셀 당 보정 값을 계산할 수 있어야합니다. 유감스럽게도 노출에 따라 요인이 다양해 보입니다. 그러나 여전히 실행 가능합니다.

매우 일반적인 문제인 것처럼 보입니다. OpenCV는 그것을 처리 할 수있는 무언가를 제공합니까?

P. 단 하나 심상에 brightnes의이 고르지 못한 배급은 문제점이 아니다. 큰 표면을 스캔하고 바느질 할 때 가시화됩니다.

+0

어때? https://i.stack.imgur.com/aHIvs.png – Silencer

+0

@Silencer는 좋아 보인다 –

답변

2

저는 비슷한 문제를 해결해야했습니다. 모든 색상 채널에서 동일합니까?

  1. Blur the image with cv::blur(...)
  2. 스케일 다운 흐린 이미지의 최소 때문에 최소한 지금은 전체 코드는 다음과 같을 것이다 제로
  3. Subtract that blurred image from all input images with cv::subtract(...)

입니다 : 당신은 할 수

// Input matrix 
// Image with "nothing" 
Mat colorProfile = ...; 

// Blur 
blur(colorProfile, colorProfile, Size(3, 3), Point(-1,-1)); 

// Translate the pixels down 
double min, max; 
minMaxLoc(colorProfile, &min, &max); 
colorProfile = colorProfile - min 

// Then for every image: 
Mat inputImage = ...; 

subtract(inputImage, colorProfile, inputImage); 
+0

좋아, 너 수동으로 해 봤어? 그래서 Opencv에는 이것에 대한 아무 것도 없습니다. 일반 opencv 클래스에 대한 아이디어 일 수 있습니다. BTW, 교정 표면은 어땠습니까? 또한 초점이 맞지 않는 광원? 어떻게 다른 노출을 처리 했습니까? 모든 노출에 대해 오직 하나의 수정 매트릭스를 가지고 있습니까? 노출/이득/광원 강도의 적절한 범위에 대한 수식 또는 많은 매트릭스의 배열을 사용 했습니까? (제 경우에는 마지막 두 요소가 일정합니다)? –

+2

기본적으로 "기준선"을 찾은 다음 모든 이미지에서 뺍니다. 나는 그것을하기 위해 openCV에 내장 된 것이 아무것도 없다고 생각합니다. 나는 가장자리쪽으로 코사인 감쇠 (기본적으로 비네팅) – Jason