簡體   English   中英

如何在javacv或opencv中開始圖像處理之前提高圖像質量?

[英]How to improve the image quality before the image processing start in javacv or opencv?

我有一個400x400圖像的圖像,以識別它的不同組件。 但是,當我嘗試使用大多數時間來識別組件時,它無法提供正確的答案。 所以我需要知道javacv或opencv中是否有某種方法可以提高圖像質量或增加圖像大小而不影響圖像質量?

這是我使用的示例圖像。 (這是我可以獲得的最大尺寸,我不能在項目中使用任何照片編輯軟件,因為它是動態生成的圖像。)

在此輸入圖像描述

在我的圖像處理中,我需要識別連接這些方塊的正方形和矩形。 特別是我需要獲得那些使用像素值的寬度和高度。

你可以將它縮放到任何尺寸,如果你可以對它進行矢量化......在你的情況下,由於你在圖像中有一些簡單的幾何對象,背心很簡單。

所以,在我看來,你的方法應該是這樣的:

  1. 使用高閾值檢測圖像中的邊緣(因為您有非常不同的對象)
  2. 矢量化它們
  3. 將它們縮放到任何尺寸

您還應該查看以下鏈接: 在OpenCV中提高相機捕獲分辨率

如果堅持圖像處理,最簡單的方法是應用equalizeHist()。 這將增加對比度並改善后續步驟。

但是 ,這是一個biiiig'但',你為什么要這樣做? 剛看完這篇文章,我看到了另一個解決方案,快速谷歌證明我是對的:

Kabeja是一個用於解析,處理和轉換Autodesk DXF格式的Java庫。 您可以使用CommandLine中的Kabeja或嵌入到您的應用程序中。 可以使用類似DOM的API訪問所有已解析的數據。

這意味着您可以以文本格式直接從該圖像中提取所需的所有數據。 可能就像“在x位置,有晶體管,或其他什么”。 那么為什么要將該文件渲染成圖像,然后分析該圖像以提取組件?

如果你是為學校做的(我知道很多學校項目是這樣的)我會建議你找到一個真正的問題來解決,並提出給你的老師。 你會更樂意做一些不完全廢話的事情。

矢量化圖像是我猜的最佳選擇,正如mocap所建議的那樣。
您還可以使用銳化,飽和等增強工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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