suchen
HeimBackend-EntwicklungPython-TutorialWie extrahiere ich zwei kreisförmige Bereiche aus einem 9000x7000 Pixel -Bild mit Python und OpenCV?

Wie extrahiere ich zwei kreisförmige Bereiche aus einem 9000x7000 Pixel -Bild mit Python und OpenCV?

Python und OpenCV extrahieren zwei kreisförmige Bereiche in 9000x7000 Pixelbildern effizient

Die Verarbeitung von Bildern der ultrahoch-hohen Auflösung (wie 9000 x 7000 Pixel) und das Extrahieren spezifischer Formen (wie Kreise) von ihnen ist eine häufige Herausforderung bei der Bildverarbeitung und dem Computervision. Dieser Artikel enthält eine Lösung mit Python- und OpenCV -Bibliotheken, um die zirkulären Bereiche effizient und genau zu extrahieren.

Das Problem mit dem vorhandenen Code ist, dass zu viele Kreise erkannt werden und es unmöglich ist, die beiden erforderlichen Kreisbereiche genau auszuwählen. Zur Verbesserung werden wir die folgenden Strategien anwenden:

  1. Bildvorverarbeitung: Skalierung und Rauschreduzierung : Um die Verarbeitungseffizienz zu verbessern, reduzieren wir das Originalbild auf die richtige Größe. Gleichzeitig wird ein Gaußscher Unschärfefilter angewendet, um das Bildrauschen zu verringern, wodurch die Genauigkeit der kreisförmigen Erkennung verbessert wird.
 CV2 importieren
Numph als NP importieren

Image_path = R "C: \ Benutzer \ 17607 \ Desktop \ SMLS Pictures \ pic_20231122151507973.bmp"

# Bild lesen img = cv2.imread (Image_path)

# Zoomen Sie das Bild (passen Sie das Zoomverhältnis gemäß der tatsächlichen Situation an).
scale_percent = 10 # scale zu 1/10 des Originalbildes
width = int (img.shape [1] / scale_percent)
Höhe = int (img.shape [0] / scale_percent)
Dim = (Breite, Höhe)
resized_img = cv2.Resize (IMG, Dim, Interpolation = cv2.inter_area)

# Grayscale Conversion Gray = CV2.CVTCOLOR (RESIZE_IMG, CV2.COLOR_BGR2GRAY)

# GAUSSIANBLURRED = CV2.GAUSSIANBLUR (GRAU, (5, 5), 0)
  1. Kantenerkennung: Canny -Algorithmus : Verwenden Sie den Canny Edge -Erkennungsalgorithmus, um Bildkanteninformationen zu extrahieren und auf die nachfolgende kreisförmige Erkennung vorzubereiten.
 # Canny Edge -Erkennungskanten = CV2.Canny (verschwommen, 50, 150)
  1. Kreiserkennung: Hough -Transformation : Verwenden Sie Hough Circle -Transformation, um Kreise in Bildern zu erfassen. Der Schlüssel sind Parameteranpassungen, um sicherzustellen, dass nur die beiden Kreise, die wir benötigen, erkannt werden. Hier filtern wir gemäß dem Radius des Kreises und wählen die beiden größten Kreise aus.
 # HoughCircle -Transformationskreise = cv2.houghcircles (Kanten, cv2.hough_gradient, 1, 40, param1 = 50, param2 = 30, minradius = 0, maxradius = 0)

Wenn Kreise nicht sind:
    Kreise = np.uint16 (np.around (Kreise))
    # Wählen Sie zwei größte Kreise = Kreise [0,:]
    Kreise = Kreise [np.argsort (Kreise [:, 2]) [::-1] [: 2]] # Wählen Sie zwei Kreise mit dem größten Radius für I in Kreisen:
        Center_x, Center_y, Radius = i
        # Circle Cv2.circle (gegründet_img, (Center_x, Center_y), Radius, (0, 0, 255), 2)
        cv2.circle (resized_img, (center_x, center_y), 2, (255, 0, 0), 3)

    CV2.Imshow ("Erfassete Kreise", gegründet_img)
    cv2.waitkey (0)
    CV2.DestroyAllwindows ()

In den obigen Schritten können wir die beiden größten kreisförmigen Regionen aus hochauflösenden Bildern effektiv extrahieren und diese durch Visualisierungsergebnisse überprüfen. Es ist zu beachten, dass die Parameter von scale_percent und Hough -Transformation nach dem tatsächlichen Bild angepasst werden müssen, um den besten Erkennungseffekt zu erzielen. Wenn zwei Kreise von ähnlicher Größe sind, kann eine raffiniertere Auswahl auf der Grundlage der Zentralkoordinaten oder anderer Merkmale erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich zwei kreisförmige Bereiche aus einem 9000x7000 Pixel -Bild mit Python und OpenCV?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie wirkt sich die Auswahl zwischen Listen und Arrays auf die Gesamtleistung einer Python -Anwendung aus, die sich mit großen Datensätzen befasst?Wie wirkt sich die Auswahl zwischen Listen und Arrays auf die Gesamtleistung einer Python -Anwendung aus, die sich mit großen Datensätzen befasst?May 03, 2025 am 12:11 AM

ForHandlinglargedatasetsinpython, Usenumpyarraysforbetterperformance.1) Numpyarraysarememory-Effiction und FasterFornumericaloperations.2) meidenunnötiger Anbieter.3) HebelVectorisationFecedTimeComplexity.4) ManagemememoryusageSageWithEffizienceDeffictureWitheseffizienz

Erklären Sie, wie das Speicher für Listen gegenüber Arrays in Python zugewiesen wird.Erklären Sie, wie das Speicher für Listen gegenüber Arrays in Python zugewiesen wird.May 03, 2025 am 12:10 AM

Inpython, listEUSUutsynamicMemoryAllocationWithover-Accocation, whilenumpyarraysalcodeFixedMemory.1) ListSallocatemoremoryThanneded intellig, vereitelte, dass die sterbliche Größe von Zeitpunkte, OfferingPredictableSageStoageStloseflexeflexibilität.

Wie geben Sie den Datentyp der Elemente in einem Python -Array an?Wie geben Sie den Datentyp der Elemente in einem Python -Array an?May 03, 2025 am 12:06 AM

Inpython, youcansspecthedatatypeyFelemeremodelerernspant.1) Usenpynernrump.1) Usenpynerp.dloatp.Ploatm64, Formor -Präzise -Preciscontrolatatypen.

Was ist Numpy und warum ist es wichtig für das numerische Computing in Python?Was ist Numpy und warum ist es wichtig für das numerische Computing in Python?May 03, 2025 am 12:03 AM

NumpyisessentialfornumericalComputingInpythonduetoitsSpeed, GedächtnisEffizienz und kompetentiertemaMatematical-Funktionen.1) ITSFACTBECAUSPERFORMATIONSOPERATIONS.2) NumpyarraysSaremoremory-Effecthonpythonlists.3) iTofferSAgyarraysAremoremory-Effizieren

Diskutieren Sie das Konzept der 'zusammenhängenden Speicherzuweisung' und seine Bedeutung für Arrays.Diskutieren Sie das Konzept der 'zusammenhängenden Speicherzuweisung' und seine Bedeutung für Arrays.May 03, 2025 am 12:01 AM

ContInuuousMemoryAllocationScrucialforAraysBecauseAltoLowsFofficy und Fastelement Access.1) iTenablesconstantTimeAccess, O (1), Duetodirectaddresscalculation.2) itimProvesefficienceByallowing -MultipleTeLementFetchesperCacheline.3) Es wird gestellt

Wie schneiden Sie eine Python -Liste?Wie schneiden Sie eine Python -Liste?May 02, 2025 am 12:14 AM

SlicingPapythonListisDoneUsingthesyntaxlist [Start: Stop: Stufe] .here'Showitworks: 1) StartIndexoFtheFirstelementtoinclude.2) stopiStheIndexoFtheFirstelementtoexclude.3) StepisTheincrementBetweenelesfulFulForForforexcractioningPorporionsporporionsPorporionsporporesporsporsporsporsporsporsporsporsporionsporsPorsPorsPorsPorsporsporsporsporsporsporsAntionsporsporesporesporesporsPorsPorsporsPorsPorsporsporspors,

Was sind einige gängige Operationen, die an Numpy -Arrays ausgeführt werden können?Was sind einige gängige Operationen, die an Numpy -Arrays ausgeführt werden können?May 02, 2025 am 12:09 AM

Numpyallowsforvariousoperationssonarrays: 1) BasicarithmeticliKeaddition, Subtraktion, Multiplikation und Division; 2) AdvancedoperationssuchasmatrixMultiplication;

Wie werden Arrays in der Datenanalyse mit Python verwendet?Wie werden Arrays in der Datenanalyse mit Python verwendet?May 02, 2025 am 12:09 AM

Arraysinpython, insbesondere ThroughNumpyandpandas, areessentialfordataanalyse, öfterspeedandeffizienz.1) numpyarraysenableAnalysHandlingoflargedatasets und CompompexoperationslikemovingAverages.2) Pandasextendsnumpy'ScapaBilitiesWithDaTataforsForstruc

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools