Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
Reading: Python ile Yüzük Ölçüsü Bulma Uygulaması
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
Ara...
Follow US
Türker UZUN > Blog > Algoritma-Programlama > Python Blog > Python ile Yüzük Ölçüsü Bulma Uygulaması
Python Blog

Python ile Yüzük Ölçüsü Bulma Uygulaması

2 Min Read
Paylaş
2 Min Read
Python ile Parmak Ölçüsü, Python ile Yüzük Ölçüsü Bulma Uygulaması
Python ile Parmak Ölçüsü, Python ile Yüzük Ölçüsü Bulma Uygulaması

Hepimiz bir şekilde yüzük hediye alabiliyoruz. Bu hediyeyi almak için uğraşırken en büyük sorunumuz yüzüğün ölçüsü olabiliyor.

Bir başka sorun ise yurtdışı e-ticaret platformlarından yüzük sipariş edeceğimiz zaman ölçü birimleri bizim hesap sistemimizden farklı olduğu için ilgili numaraların parmağımıza olup olmayacağı konusu.

Bu ihtiyaçlar doğrultusunda parmak yüzük ölçüsünü bulabilmeye çalıştım.

Deneyebilirsiniz. Umarım faydalı olur.

import cv2
import numpy as np
from math import pi

para_width_mm = 26.15 # mm
para_height_mm = 26.15 # mm

pixel_array = np.array([11, 12, 13, 14, 15])
avg = np.average(pixel_array)
pixel_to_mm = para_width_mm / avg

def calc_distance(x1,y1,x2,y2):
    distance = round(np.sqrt((x1-x2)**2 + (y1-y2)**2))
    print("distance in pixels = ", distance)
    print("distance in mm = ", distance/3.7795275)
    x=distance/3.7795
    return x

point_matrix = np.zeros((2,2),int)

counter = 0
def mousePoints(event,x,y,flags,params):
    global counter
    if event == cv2.EVENT_LBUTTONDOWN:
        point_matrix[counter] = x,y
        counter += 1

# Görsel oku
img = cv2.imread('yuzuk/test.jpg')
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
mask = cv2.imread('yuzuk/test.jpg',0)
res = cv2.bitwise_and(img, img, mask=mask)

contours,hierarchy = cv2.findContours(mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
    hull = cv2.convexHull(cnt)
    cv2.drawContours(img,[cnt],0,(0,255,0),2)
    cv2.drawContours(img,[hull],0,(0,0,255),2)

cv2.imshow('image',img)
cv2.imwrite('yuzuk/step1.jpg',img)

while counter<=2:
    for x in range (0,2):
        cv2.circle(img,(point_matrix[x][0],point_matrix[x][1]),3,(0,0,255),cv2.FILLED)

    if counter == 2:
        starting_x = point_matrix[0][0]
        starting_y = point_matrix[0][1]

        ending_x = point_matrix[1][0]
        ending_y = point_matrix[1][1]
        cv2.rectangle(img, (starting_x, starting_y), (ending_x, ending_y), (0, 20, 20), 1)
        cv2.line(img,(starting_x,starting_y),(ending_x,ending_y),(0,0,255),1)
        distance = calc_distance(starting_x,starting_y,ending_x,ending_y)
        cv2.putText(img, str(distance*pi) + ' mm (circum)', (starting_x,starting_y), cv2.FONT_HERSHEY_PLAIN, 3, (0, 20, 20), 3)
        img_cropped = img[starting_y:ending_y, starting_x:ending_x]
        cv2.imshow("ROI", img_cropped)
        cv2.imwrite('yuzuk/step2.jpg',img_cropped)

    cv2.imshow("Orijinal Resim ", img)
    cv2.setMouseCallback("Orijinal Resim ", mousePoints)
    print(point_matrix)
    cv2.waitKey(10)
    
ETİKETLER: Parmak Ölçüsü Bulma, Python, Python Blog, Python Örnekleri, Python Programlama, Yüzük Ölçüsü Bulma
Editor Temmuz 18, 2023
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link

Son Yazılar

  • LangChain Tool Tanıtımı (Kategorik)
  • Flowise Tool Node Tanıtımı
  • Flowise – Hazır Chatflow Akışları
  • Flowise – Hangi Node Ne Zaman Kullanılır?
  • Flowise Eğitimi – Node’ları Tanıyalım

Takip Et

Sponsor Linkler

İlginizi Çekebilir

Büyük Dil Modelleri (LLM)LLM - AI AJANLAR

Büyük Dil Modellerinde Yanıt Süresi Optimizasyonu: Ollama ve Langchain

PandasVeri Analizi

Verimlilik: Pandas için Kendi Ayar Dosyanızı Oluşturun

Python Blog, Python Soruları, Python Dersleri, Python Veri Analizi, Python İlginç Sorular
Python Veri Analizi

Veri Analizi Aşamaları 09 – Özellik Mühendisliği

Python Blog, Python Soruları, Python Dersleri, Python Veri Analizi, Python İlginç Sorular
Python Veri Analizi

Veri Analizi Aşamaları 08 – Dengesiz Veri Kümeleri

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo