簡體   English   中英

根據顏色裁剪黑色圖像周圍的空白區域

[英]Crop white space around black image based on color

我使用 Imaemagick 和 c# 並想知道:是否可以在沒有精確尺寸的情況下將圖像裁剪到邊框? 從第一到第二? 第一張圖片

第二

要刪除數獨方塊周圍的空白區域,您可以遍歷像素。 由於圖像是黑白圖像,因此我們可以檢查任何 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM