【问题标题】:Edge detection - remove background边缘检测 - 去除背景
【发布时间】:2021-04-05 22:27:10
【问题描述】:

想在显微镜图像上使用边缘检测来使背景变白。 这是我目前的代码,这有用吗?

代码:

import cv2 
import numpy as np 
import matplotlib.pyplot as plt
def simple_edge_detection(image): 
   edges_detected = cv2.Canny(image , 100, 200) 
   images = [image , edges_detected]
   location = [121, 122] 
   for loc, edge_image in zip(location, images): 
      plt.subplot(loc) 
      plt.imshow(edge_image, cmap='gray')
   cv2.imwrite('edge_detected.png', edges_detected)
   plt.savefig('edge_plot.png')
   plt.show()
   
img = cv2.imread('gay2.0.jpg', 0)
simple_edge_detection(img)

result of the code:

result wished:

【问题讨论】:

    标签: python image background edge-detection


    【解决方案1】:

    使用 Canny 过滤器并使用足以去除大部分背景的阈值进行二值化。

    移除小斑点并检测图像边框上的小斑点(可能填充它们的孔)。这些在感兴趣的对象周围定义了一个蒙版(不要担心图片中的绿色斑点和橙色线条)。

    您可以添加一些预处理或后处理来移除持有人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-26
      • 2019-03-20
      • 2016-09-11
      • 1970-01-01
      • 2021-05-18
      • 2016-10-04
      • 2020-08-31
      • 2017-03-27
      相关资源
      最近更新 更多