簡體   English   中英

OpenCV-計算圖像的邊緣強度

[英]OpenCV - Calculating edge strength of image

我是圖像處理的新手,我需要計算圖像中邊緣的強度。 假設您有一個圖像,並且對該圖像添加了模糊效果。 這兩個圖像的邊緣強度不同。 我需要單獨計算兩者圖像邊緣強度。

到目前為止,我已經使用下面的代碼對圖像進行了邊緣檢測。

  Mat src1;
  src1 = imread("D.PNG", CV_LOAD_IMAGE_COLOR);
  namedWindow("Original image", CV_WINDOW_AUTOSIZE);
  imshow("Original image", src1);
  Mat gray, edge, draw;
  cvtColor(src1, gray, CV_BGR2GRAY);
  Canny(gray, edge, 50, 150, 3);
  edge.convertTo(draw, CV_8U);
  namedWindow("image", CV_WINDOW_AUTOSIZE);
  imshow("image", draw);
  waitKey(0);
  return 0;

有什么方法可以計算出邊緣圖像的強度嗎?

mean將為您提供圖像的平均值。 如果您如上所述使用Canny ,則可以執行以下操作:

Scalar pixelMean = mean(draw);

要僅獲取邊緣像素的均值,還可以使用圖像作為遮罩:

Scalar edgeMean = mean(draw, draw);

不幸的是,由於Canny將所有邊緣像素都設置為255 ,因此您的均值將始終為255 如果這是您要尋找的量度,則可能要使用Sobel (在高斯模糊之后)並計算漸變以獲得相對邊緣強度。

暫無
暫無

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

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