Bildrauschfilterung mit PythonPython

Python-Programme
Guest
 Bildrauschfilterung mit Python

Post by Guest »

Ich benötige einen Filter, der Rauschen filtern kann, sodass das gefilterte Bild mehr als 70 % dem Originalbild ähnelt.
medianBlur-Filter liefert ungefähre Ergebnisse:
Image

Image

Ich habe viele Filter ausprobiert, konnte aber nicht über 70 % kommen

Code: Select all

    # Áp dụng lọc median
img_filtered = cv2.medianBlur(img.astype(np.uint8), 5)

# Hiển thị kết quả
cv2.imshow('Original', img)
cv2.imshow('Filtered', img_filtered)
cv2.waitKey(0)
cv2.destroyAllWindows()

Code: Select all

def Loc_TKTT_trung_vi(img, ksize1):
m, n = img.shape
img_ket_qua_anh_loc_Trung_vi = np.zeros([m, n])
h = (ksize1 - 1) // 2
padded_img = np.pad(img, (h, h), mode='reflect')
for i in range(m):
for j in range(n):
vung_anh_kich_thuoc_k = padded_img[i:i + ksize1, j:j + ksize1]
gia_tri_TV = np.median(vung_anh_kich_thuoc_k)
img_ket_qua_anh_loc_Trung_vi[i, j] = gia_tri_TV
return img_ket_qua_anh_loc_Trung_vi

if __name__ == "__main__":
img_nhieu_muoi_tieu = cv2.imread('distorted_qrcode2.png', 0)
img_goc = cv2.imread('qr_code_original.png', 0)
ksize1 = 7 # Để lọc ảnh nhiễu muối tiêu
img_KQ_Trung_vi = Loc_TKTT_trung_vi(img_nhieu_muoi_tieu, ksize1)

# Hiển thị kết quả
cv2.imshow('Original', img_nhieu_muoi_tieu)
cv2.imshow('Filtered', img_KQ_Trung_vi)
cv2.waitKey(0)
cv2.destroyAllWindows()

similarity = compare_images(img_KQ_Trung_vi, img_goc)
print(f"do tuong dong: {similarity:.2f}")

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post