【发布时间】:2020-11-10 19:04:07
【问题描述】:
我正在处理一些 X 射线图像,我想从图像中检测和分割感兴趣的区域。
考虑输入图像
我想检测图像中类似正方形的形状,如图像中突出显示的那样
输出:感兴趣的区域会以某种方式看起来像这样
这是我到目前为止所做的代码
import cv2
import numpy as np
import pandas as pd
import os
from PIL import Image
import matplotlib.pyplot as plt
from skimage.io import imread, imshow
img = cv2.imread('image.jpg',0)
imshow(img)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imshow(gray)
equ = cv2.equalizeHist(img)
imshow(equ)
img_resize = cv2.resize(img, (300, 300))
print(img_resize.shape)
figure_size = 9
new_image_gauss = cv2.GaussianBlur(img_resize, (figure_size, figure_size),0)
imshow(new_image_gauss)
img_edge = cv2.Canny(equ,100,200)
# show the image edges on the newly created image window
imshow(img_edge)
kernel = np.ones((5,5), np.uint8)
img_erosion = cv2.erode(img_edge, kernel, iterations=1)
img_dilation = cv2.dilate(img_edge, kernel, iterations=1)
imshow(img_erosion)
我得到的结果;
请指导我。
TIA
【问题讨论】:
-
在 Stack Overflow 上,您需要生成自己编写的代码以评估其行为(“为什么这段代码不能正确识别正方形?”)。就目前而言,恐怕这个问题不适合 Stack Overflow。
-
我分享了我到目前为止所做的工作
标签: python opencv image-processing computer-vision