c# - 如何在不改变宽高比的情况下裁剪图像

标签 c# image-processing emgucv edsdk

我需要在不改变纵横比的情况下裁剪一张图片。我正在使用 EDSDK 从 CANON1100D 拍照。拍摄的图像: 宽度 = 1920高度 = 1280
宽高比为 1.5。但我需要宽高比为 1.33 的图片。


// convert into processing resolution (1600,1200) 

Image<Bgr, byte> runtime_frm = new Image<Bgr, byte>(frame.ToBitmap(1600,1200));

// also in bitmap processing 

// Bitmap a = new Bitmap(runtime_frm.ToBitmap());  
// Bitmap b = new Bitmap(a, new Size(1600,1200));

它正在调整图像大小,因此改变了图像的宽高比,但它会在图像中产生压力。我想在运行时将图像 (1920x1280) 裁剪为 (1600x1200)。

我如何以编程方式执行此操作?

最佳答案

 public void Crop(Bitmap bm, int cropX, int cropY,int cropWidth,int cropHeight)
 {
       var rect = new System.Drawing.Rectangle(cropX,cropY,cropWidth,cropHeight);

       Bitmap newBm = bm.Clone(rect, bm.PixelFormat);

       newBm.Save("image2.jpg");
 }

也许是这样的?

source

关于c# - 如何在不改变宽高比的情况下裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9477602/

相关文章:

c# - 在 Emgu CV 中何时使用 `image` 以及何时使用 `Matrix`?

c# - EmguCV 中的对象跟踪

c# - 无法隐藏继承的成员编译器错误

c# - Wcf 和接口(interface)作为参数

c# - 用于查看 C# 中的整数是否为素数的简单函数?

python - 使用 pytesseract 从图像中获取文本

java - 图像低通滤波器中的 "Echo"

c# - 使用 WinDbg 从 minidump 中确定 InnerException 的行号

matlab - Watershed算法的过分割

fft - 傅里叶变换+emgucv