我正在從EmguCV擴展ImageBox控件。控件的Image
屬性可以設置爲任何實現IImage
接口的內容。通用類中的C#調用方法
以下所有實現此接口的:
Image<Bgr, Byte>
Image<Ycc, Byte>
Image<Hsv, Byte>
現在我想打電話給Draw
方法,上述類型(它可能是什麼都)的對象。
問題是當我訪問Image屬性時,返回類型是IImage
。 IImage不實施Draw
方法,但以上都是。
我相信我可以將IImage
類型的對象轉換爲上面的一個(正確的),我可以訪問Draw
方法。但我怎麼知道正確的是什麼?如果你有更好的方法來做到這一點,請同樣建議。
編輯
對不起,我忘了提的一個重要信息。上述每個類的Draw方法都有一個不同的參數。對於例如Draw
對於Image<Bgr, Byte>
需要Bgr
類型的參數,而Draw
對於Image<Hsv, Byte>
需要採用類型爲Hsv
的參數。
是否有權訪問IImage和圖像代碼? –
EmguCV是一個開源項目,儘管我更喜歡使用它們的二進制文件:) – Aishwar
它看起來並不像圖像界面/實現設計得很好。 –