Magick ++ (IM 7.0.3 플랫폼 : CentOS Linux 릴리즈 7.0)를 사용하여 이미지를 gif로 변환합니다. 내가 파일에서 이미지 개체를 만들 때, 문제는 내가 9 png 파일 (각 50kb)을 gif로 변환 할 때만 50ms 밖에 걸리지 않는다는 것입니다. 그러나 9 jpg 파일 (각 20kb)로 바뀌면 1900ms가 걸립니다. 그 이유는 무엇입니까? jpg 파일로 어떻게 더 빨리 만들 수 있습니까?ImageMagick jpg 이미지를 gif slow로 변환합니다.
for(int i = 2; i < argc-1; i++)
{
// I pass the file path from command line
cout << argv[i] << endl;
Image img(argv[i]);
img.animationDelay(delay);
img.magick("GIF");
frames.push_back(img);
}
long mergestart = getCurrentTime();
Magick::Blob tmpBlob;
Magick::writeImages(frames.begin(), frames.end(), &tmpBlob);
도움 주셔서 감사합니다. 나는 IM 명령을 "식별"하지 않지만 php GD 라이브러리 imagecolorstotal 함수를 사용하여 jpg 색상 번호 0과 png 색상 번호 256을 얻었습니다. PNG 파일은 palettised입니까? –
미안하지만 다른 질문이 있습니다. Magick :: Image obj 형식의 PNG를 만들려고했으나 blob로 이미지를 초기화하지 못했습니다 (blob은 cv :: imencode에 의해 생성 된 png 데이터로 생성 됨). 하지만 cv :: imencode jpg blob을 가진 init은 잘 동작합니다. 나는 이미지 프로세싱을 처음 사용하고 있으며 여기에 붙어있다. –
v7 이상일 경우'magick identify ... '를 시도하십시오. –