發(fā)布時間:2024-07-29 14:41:22 瀏覽量:293次
想要在WinForms應(yīng)用程序中使用C#和OpenCvSharp實現(xiàn)圖片裁剪功能嗎?其實很簡單,只需通過一個簡單的WinForms界面就可以完成這個任務(wù)。
Mat類是OpenCvSharp中用于表示圖像和矩陣的核心類,你可以利用它來加載、保存、裁剪和處理圖像。
首先需要在nuget中安裝OpenCvSharp4,在此過程中記得引用OpenCvSharp4.runtime.win庫,避免出現(xiàn)錯誤提醒,比如DllNotFoundException: Unable to load DLL 'OpenCvSharpExtern' or one of its dependencies。
同時,也要記得引用OpenCvSharp.Extensions庫,確??梢皂樌M行圖片處理。


下面是一個示例代碼,展示了如何進行圖像裁剪操作:
private void btnCrop_Click(object sender, EventArgs e){ Mat sourceImage; // 將Image對象轉(zhuǎn)換為Mat對象 Mat matFromImage = BitmapConverter.ToMat(new Bitmap(pic.Image)); if(matFromImage!=null ) { int x = 0; int y = 0; int width = 100; int height = 100; x =int.Parse( txtPostion.Text.Split(",")[0]); y = int.Parse(txtPostion.Text.Split(",")[1]); Rect cropRegion = new Rect(x, y, width, height); Mat croppedImage = new Mat(matFromImage, cropRegion); SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "JPEG Image|*.jpg"; if (saveFileDialog.ShowDialog() == DialogResult.OK) { croppedImage.SaveImage(saveFileDialog.FileName); MessageBox.Show("裁剪完成并保存。"); } croppedImage.Release(); }}
除了裁剪操作,也可以對圖像進行區(qū)域截取,如下代碼所示:

private void btnCrop_Click(object sender, EventArgs e){ Mat sourceImage = BitmapConverter.ToMat(new Bitmap(pic.Image)); //創(chuàng)建一個與原始圖像相同大小的黑色圖像,這將作為我們的圓形掩碼 Mat mask = new Mat(sourceImage.Size(), MatType.CV_8U, new Scalar(0)); //在掩碼上繪制一個白色的圓形: OpenCvSharp.Point center = new OpenCvSharp.Point(mask.Cols / 2, mask.Rows / 2); // 圓心坐標 int radius = Math.Min(mask.Cols, mask.Rows) / 2; // 半徑,取圖像寬度和高度的最小值的一半 Cv2.Circle(mask, center, radius, Scalar.White, -1); // -1 表示填充圓形 Mat result = new Mat(); sourceImage.CopyTo(result, mask); //將Mat轉(zhuǎn)換為Image Bitmap bitmap = BitmapConverter.ToBitmap(result); pictureBox1.Image= bitmap;}
以上就是關(guān)于使用C#和OpenCvSharp實現(xiàn)圖片裁剪功能的內(nèi)容,希望能為你提供幫助。
想要了解更多關(guān)于數(shù)字藝術(shù)教育的內(nèi)容嗎?歡迎點擊點擊咨詢,了解火星時代教育提供的游戲設(shè)計培訓(xùn)、動畫培訓(xùn)、UI設(shè)計培訓(xùn)等課程。
熱門資訊
想了解動畫制作和影視特效的區(qū)別嗎?本文將帶您深入探討動畫制作和影視特效之間的關(guān)系,幫助你更好地理解這兩者的差異。
想知道快影、剪映、快剪輯這三款軟件哪個更適合小白?看看這篇對比評測,帶你了解這三款軟件的功能和特點,快速選擇適合自己的視頻剪輯軟件。
剪映專業(yè)版新增全局預(yù)覽縮放功能,可以輕松放大或縮小時間軌道。學習如何使用時間線縮放功能,提升剪輯效率。
4. 豆瓣8.3《鐵皮鼓》|電影符號學背后的視覺盛宴、社會隱喻主題
文|悅兒(叮咚,好電影來了!)《鐵皮鼓》是施隆多夫最具代表性的作品,影片于... 分析影片的社會隱喻主題;以及對于普通觀眾來說,它又帶給我們哪些現(xiàn)實啟發(fā)...
5. 從宏觀蒙太奇思維、中觀敘事結(jié)構(gòu)、微觀剪輯手法解讀《花樣年華》
中觀層面完成敘事結(jié)構(gòu)、以及微觀層面的剪輯手法,3個層次來解讀下電影《花樣年華》的蒙太奇魅力。一、 宏觀層面:運用蒙太奇思維構(gòu)建電影劇本雛形。蒙...
6. 為什么漫威、DC這類大片的電影特效如此燒錢?原因在這里
想知道為什么漫威、DC這類特效滿天飛的大片花費如此之高嗎?一秒鐘幾十萬上百萬的電影特效為何如此“貴”?快來了解電影特效制作的內(nèi)幕~
7. 15種電影剪輯/轉(zhuǎn)場藝術(shù),賦予影片絕妙魅力
15種電影剪輯/轉(zhuǎn)場手法,讓影片更吸引眼球!回顧電影中豐富多樣的專場技巧,比如瞬間從一個場景中變換到空中... 現(xiàn)在是測試技術(shù)的時候了!以下是一些常見剪輯手法,讓你觀影過程更加華麗動人!
本文介紹了十款強大的PR視頻剪輯插件,幫助提升視頻剪輯效率,提高創(chuàng)作品質(zhì),并降低創(chuàng)作難度。
9. 《肖申克的救贖》通過鏡頭語言,向觀眾展現(xiàn)了安迪自我救贖的過程
以突出劇情的緊張氛圍和角色的情感變化。此外,電影的拍攝手法和剪輯方案還與影片的敘事結(jié)構(gòu)和主題緊密相連。導(dǎo)演巧妙地運用回憶、閃回和象征性鏡頭等...
10. 干貨丨真正厲害的剪輯師都喜歡用這九大“技巧轉(zhuǎn)場”
想學習剪輯技術(shù)轉(zhuǎn)場的方法嗎?了解這九種技巧轉(zhuǎn)場方法,提升影片藝術(shù)感染力,讓你的視頻作品更加生動有趣!
最新文章
同學您好!