2011-01-02 1 views
0

System.Drawing.Image를 Emgu.CV.Image로 변환 할 때 문제가 있습니다. 내가 formapplication비트 맵 -> 이미지 창 양식 응용 프로그램

string im_name = str[index]; 
Emgu.CV.Image<Bgr, Byte> img = new Image<Bgr, byte>(im_name); 

내 이미지를로드 할 수 있지만이 코드는

System.Drawing.Image img_btmap = System.Drawing.Image.FromFile(im_name); 

Emgu.CV.Image<Bgr, Byte> img1 = new Image<Bgr, byte>(img_btmap); 

누군가가 생각이 왜이 나에게 잘못된 인수 오류를 제공 ??? 관련

+0

주의 : 적절한 폐기를 보장하는 가장 간단한 방법은이 같은 using 블록을 사용한다? – fejesjoco

답변

2

변경 라인 : 이미지 클래스에서 상속

System.Drawing.Bitmap img_btmap = new System.Drawing.Bitmap(im_name); 

Emgu.CV.Image 생성자는 기대하고있다 비트 맵 클래스입니다.

나중에 img_btmap을 삭제해야합니다. 그렇지 않으면 파일이 잠길 위험이 있습니다.

편집 : 우리에게 세부에서 오류를 말할 수

using (System.Drawing.Bitmap img_btmap = new System.Drawing.Bitmap(im_name)) 
{ 
    //.....rest of code comes here..... 
} 
+0

Yup 또는 이미지 (문자열) 생성자 만 사용합니다. –

+0

u는 맞다, 나는 이미 그것을 완료했다 [System.Drawing.Bitmap img_btmap = 새로운 System.Drawing.Bitmap (im_name);] 그리고 그것은 작동하지만 messagaebox 이미 비트 맵으로 이미지를 보여주기 때문에 나는 다른 explaination을 기대하고 있었다. 고맙지 만 파일 잠금을 처리하고 위험을 감수해야하는 이유는 무엇입니까 – Shahgee

+0

@sayyad Bitmap은 이미지이지만 Bitmap이 아니기 때문에 Bitmap이 아니기 때문에 이전에 편집하지 못했습니다. "위험"은 이미지 파일을 잠근 상태입니다 (예 : t 삭제). –