[英]Crop white space around black image based on color
要刪除數獨方塊周圍的空白區域,您可以遍歷像素。 由於圖像是黑白圖像,因此我們可以檢查任何 R、G 或 B 值何時低於某個白色閾值並變為黑色,因此它變得更加容易。
在這個例子中,我只是使用一個任意的 200 值來檢查。
我從左上角和右下角走進來。 這僅在您的圖像始終是完美正方形時才有效。 但是您可以輕松調整此代碼以更准確地檢查坐標以滿足您的目的。
using (var image = new Bitmap(Image.FromFile("firstImage.jpg")))
{
int topX = 0, topY = 0;
int bottomX = image.Width - 1, bottomY = image.Height - 1;
var color = image.GetPixel(topX, topY);
while(color.R > 200)
color = image.GetPixel(++topX, ++topY);
color = image.GetPixel(bottomX, bottomY);
while(color.R > 200)
color = image.GetPixel(--bottomX, --bottomY);
Bitmap croppedImage = new Bitmap(image);
Rectangle cropRect = new Rectangle(topX, topY, bottomX - topX + 1, bottomY - topY + 1);
croppedImage = croppedImage.Clone(cropRect, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
croppedImage.Save("firstImageNoBorder.jpg");
}
原來的:
裁剪:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.