나는 vs2015를 사용하여 Win32 C++ 콘솔 앱을 만들었습니다 이것은 순수한 기본 C++ 응용 프로그램을 제공합니다. 이 데모 코드가 작동하지 않습니다. lenna.png 또는 lenna.jpg를로드 할 때 문제가 발생합니다.cimg로드 lenna 이미지
이미지 파일이 인식되지 않는 오류가 발생할 때마다. (나는 원래의 lenna를 wikipedia에서 사용하기까지했다.) 그러나 path problem을 제외하기 위해 알려지지 않은 이유로 작동하지 않는다. 심지어 lenna를 "d : \ lenna.jpg"에 두었다.
내가 왜 작동하지 않는 이유는 모르겠다.
cimg이 오래되었으며 요즘의 jpg를 인식하지 못합니까 ??
#include "CImg.h"
#include "stdafx.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> image("D:\\CODE\\Cimg-prj\\PGT\\Debug\\Lenna.png"), visu(500,400,1,3,0);
const unsigned char red[] = { 255,0,0 }, green[] = { 0,255,0 }, blue[] = { 0,0,255 };
image.blur(2.5);
CImgDisplay main_disp(image,"Click a point"), draw_disp(visu,"Intensity profile");
while (!main_disp.is_closed() && !draw_disp.is_closed()) {
main_disp.wait();
if (main_disp.button() && main_disp.mouse_y()>=0) {
const int y = main_disp.mouse_y();
visu.fill(0).draw_graph(image.get_crop(0,y,0,0,image.width()-1,y,0,0),red,1,1,0,255,0);
visu.draw_graph(image.get_crop(0,y,0,1,image.width()-1,y,0,1),green,1,1,0,255,0);
visu.draw_graph(image.get_crop(0,y,0,2,image.width()-1,y,0,2),blue,1,1,0,255,0).display(draw_disp);
}
}
return 0;
}
오류는 내가 얻을 수 (모든 출력) :
가 잘못된 매개 변수 - "C : \ 사용자 \ 피터 \의 AppData \ 로컬 \ 온도 \ kY6GW46A.pnm" 'gm.exe'는 인식되지 않습니다 내부 또는 외부 명령으로 작동 가능 프로그램 또는 배치 파일. 잘못된 매개 변수 - "C : \ Users \ Peter \ AppData \ Local \ Temp \ as88yC80.pnm" 'gm.exe'는 내부 또는 외부 명령 실행 가능 프로그램 또는 배치 파일로 인식되지 않습니다. 잘못된 매개 변수 - "C : \ Users \ Peter \ AppData \ Local \ Temp \ wa804U6G.pnm" 'gm.exe'는 내부 또는 외부 명령 실행 가능 프로그램 또는 배치 파일로 인식되지 않습니다.
[CImg] * * * CImgIOException * * * [인스턴스 (000000000000, 비공유)] CImg :: load() : 파일 'Lenna.png'의 형식을 인식하지 못했습니다. .
Lenna.png는 유효한 png 파일 입니다 (확장명을 irfranview로 변경하면 이름을 png로 다시 변경하려고합니다).
png에 대해 프로젝트를 올바르게 설정해야하기 때문에 zlib 및 libpng을 다운로드했지만 프로젝트에 파일을 추가하는 방법이 확실하지 않아서 작동하지 않을 수 있습니다. 그들의 단일 dll 또는 cimg 같은 .h 파일이 모든 파일을 추가해야합니까 ???)
* 코드를 들여 쓰시기 바랍니다. –
나는 긴 줄이 읽을 줄 모르는 걱정이 들었다. 코드는 줄 당 1 줄 정도의 짧은 명령이기 때문에 나는 이것을 – user3800527
과 같이 썼다. 나는 그것을 들여 쓰기 쉽다. 필요한 경우 긴 줄을 분할하십시오. –