Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengalih keluar sisa daripada imej menggunakan Python

Bagaimana untuk mengalih keluar sisa daripada imej menggunakan Python

王林
王林ke hadapan
2024-02-06 08:30:12911semak imbas

如何使用 Python 去除图像中的残差

Kandungan soalan

Imej1 mengandungi segi empat tepat dengan sisa

dan Imej2 mewakili hasil yang diingini.

Saya ingin mendapatkan hasil yang sama seperti Image2 menggunakan Image1 dalam Python, tetapi saya tidak pasti sama ada ia mungkin atau kaedah yang diperlukan.

Saya cuba menggunakan ketelusan imej untuk mengeluarkannya tetapi saya tidak pasti sama ada ini boleh dilakukan.


Jawapan betul


Imej "sisa" anda kurang tepu daripada "teras"imej, jadi anda boleh membandingkan "sisa" dengan "teras", lihat Ensiklopedia , hvwiki artikel .

Menggunakan imagemagick, saya boleh menukar imej anda kepada ruang warna hsv, buang saluran hv, dan kemudian hadkan saluran tepu untuk mencari kawasan paling tepu, seperti ini:

magick input.png -colorspace hsv -separate -delete 0,2 -threshold 75% rssult.png

Menggunakan python dan opencv, ia kelihatan lebih kurang seperti ini:

import cv2 as cv
import numpy as np

# Load image
im = cv.imread(YOURIMAGE)

# Convert to HSV colourspace and split channels
hsv = cv.cvtColor(im, cv.COLOR_BGR2HSV)
H, S, V = cv.split(hsv)

# Make mask of areas of high saturation 
coreMask = S > 200

# Scale up from range 0..1 to range 0..255 and save as PNG
cv.imwrite('result.png', coreMask * 255)

Jika saya membahagikan imej kepada komponen h, s dan v dan plot h (warna) di sebelah kiri, s (tepu) di tengah dan v (nilai, iaitu kecerahan) di sebelah kanan, anda boleh mendapatkan s di tengah Imej (Tepu), "teras" bentuk mempunyai nilai piksel yang lebih tinggi, "sisa" mempunyai nilai piksel yang lebih rendah:

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar sisa daripada imej menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam