CImg homepage :http://cimg.sourceforge.net
CImg 給出的一個簡單的示例:http://cimg.sourceforge.net/reference/group__cimg__tutorial.html
#include "CImg.h" using namespace cimg_library; int main() { CImg<unsigned char> image("lena.jpg"), 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; }
效果圖如下
但是如果按照以上教程運行會出現無法讀取jpg 的現象,把原圖片轉換成BMP格式則通過。
這是什么原因呢,CImg 在讀取 JPEG PNG TIF等格式的文件時,是需要做一個轉換,而這個轉換CImg是調用了第三方軟件 ImageMagick
ImageMagick下載主頁:http://www.imagemagick.org/script/install-source.php#windows
下載二進制可執行文件,安裝后把安裝ImageMagic 根目錄下的convert.exe拷貝到所建工程下面然后把CORE_RL_開頭的dll 也拷貝過去,這樣就可以運行了。