0
CV_32FC4
을 cv::Mat
에 사용하려고 시도 했으므로 RGBA32
이미지를 저장합니다. 그러나 cv::imwrite
을 사용하여 png
파일로 저장하면 결과 파일은 항상 비어 있습니다. 이미지입니다.cv :: imwrite는 CV_32FC4를 저장하지 않습니다. cv :: Mat
예를 들어,이 같은 이미지를 만들 : 당신은 단지 부동 또는 더블, PNG로/USHORT 유형을하지 UCHAR 저장할 수 있습니다
cv::Mat f4(50, 50, CV_32FC4);
for (int i = 0; i < 50 * 50; ++i)
{
*(FLOAT4*)(f4.data + i * sizeof(FLOAT4)) = FLOAT4(i % 50/50.0f, i/2500.0f, 0.0f, 1.0f);
}
cv::imwrite("32FC4.png", f4); //"32FC4.png" will be an empty image file,
//size is 249 B, not white or black,
//a transparent image.
doc (정말 도움이됩니다) : http://docs.opencv.org/modules/highgui /doc/reading_and_writing_images_and_video.html#imwrite imwrite'PNG, JPEG 2000 및 TIFF의 경우 8 비트 (또는 16 비트 부호없는 (CV_16U)) 단일 채널 또는 3 채널 ('BGR'채널 순서 사용) 이미지 만 이 함수를 사용하여 저장할 수 있습니다. ' – Micka
@Micka 실제로 CV_32FC3 파일을 성공적으로 저장했습니다. – Clones1201