0
그레이 스케일 이미지를 Hsv 이미지로 변환하려하지만 S 및 V 채널을 사전 설정된 값으로 설정하려고합니다. 다음 코드는 작동하지만 ~ 400ms가 걸립니다.Emgu CV - 그레이 스케일 이미지를 단일 Bgr 이미지로 결합
public void ToHueImage(this Image<Gray, double> image, Image<Hsv, double> output)
{
for (int i = 0; i < image.Width; i++)
{
for (int j = 0; j < image.Height; j++)
{
output.Data[j, i, 0] = image.Data[j, i, 0];
output.Data[j, i, 1] = 255;
output.Data[j, i, 2] = 255;
}
}
}
}
I가 개별적 걸쳐
의 라인을 따라 무언가를 화소를 복사 방지하기 위해 한 번의 조작으로 H, S, 및 V 평면의 각각에 단일 회색조 이미지 채널을 할당 할 수 있도록하고자
public void ToHueImage(this Image<Gray, double> image, Image<Hsv, double> output)
{
output.Data.H = image;
output.Data.S = WHITE_IMAGE; // These are static
output.Data.V = WHITE_IMAGE; // These are static
}
바이트 복사 등을하지 않고도 ~ 30ms 정도의 실행 시간을 얻으려고합니다. 이 작업을 수행하는 간단한 방법이 있습니까? 미키에
왜 당신이 (당신의 회색 이미지, 흰색 이미지, 흰색 이미지)와'이력서 :: merge'를 사용하지 않는? – Miki
그게 정확히 내가 원하는 것입니다. - 그냥'CvInvoke.Merge (새로운 VectorOfMat (new VectorOfMat (image.Mat, whiteImage.Mat, whiteImage.Mat), heatMap.Mat); – TheMachinist
Ps 대답을 설정하고 닫을 게요 ;-) – TheMachinist