Cevapla
 
Konu Araçları
Eski 09-05-19, 15:20 #21
SefaSeker SefaSeker çevrimdışı
Varsayılan C: Python OpenCV Kumaş Hatası Tespit Projemde yardımcı olabilir misiniz? (Acil)


Alıntı:
Gerçek Mesajı Gönderen qazw7 Mesajı Göster
Olay ayarlarda.


İşte kod.


PHP Code:
import cv2
        
cap 
cv2.VideoCapture(0)

while(
True):
    
retframe cap.read()

    
gray cv2.cvtColor(framecv2.COLOR_BGR2GRAY)
    
gray cv2.bitwise_not(gray)
    
gray cv2.GaussianBlur(gray, (2121), 0)
    
roi 0
    
    thresh 
cv2.threshold(gray150255cv2.THRESH_BINARY)[1]

    
thresh cv2.dilate(threshNoneiterations=2)
    (
cnts_) = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,
    
cv2.CHAIN_APPROX_SIMPLE)
    
    for 
c in cnts:
        (
xywh) = cv2.boundingRect(c)
        
cv2.rectangle(frame, (xy), (x+wy+h), (02550), 2)
        
roi frame[y:hx:w]
        
    
cv2.imshow("Security Feed"frame)
    
cv2.imshow("Thresh"thresh)
    
cv2.imshow("Roi",roi)
    
    
cv2.waitKey(1
Hocam değerleri değiştirince bende de oldu. Aşağıda olmuş halini gösterdim.



Fakat kumaşı kamera açısına soldan sağa olacak şekilde sokacağım için(görüntüyü bandı kaydırarak alacağım için) Roi değeri aşağıdaki gibi oluyor.(İlk kısmı kontur olarak algılıyor) Benim burada da yani kameraya kumaşın belli kısmı girmişken mesela sadece delik kısmı o ilk siyah kısım olmayacak şekilde Roi de nasıl gösterebilirim?


__________________

Mesajı son düzenleyen SefaSeker ( 09-05-19 - 16:02 )
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-19, 11:47 #22
qazw7 qazw7 çevrimdışı
Varsayılan C: Python OpenCV Kumaş Hatası Tespit Projemde yardımcı olabilir misiniz? (Acil)


Alıntı:
Gerçek Mesajı Gönderen SefaSeker Mesajı Göster
Hocam değerleri değiştirince bende de oldu. Aşağıda olmuş halini gösterdim.



Fakat kumaşı kamera açısına soldan sağa olacak şekilde sokacağım için(görüntüyü bandı kaydırarak alacağım için) Roi değeri aşağıdaki gibi oluyor.(İlk kısmı kontur olarak algılıyor) Benim burada da yani kameraya kumaşın belli kısmı girmişken mesela sadece delik kısmı o ilk siyah kısım olmayacak şekilde Roi de nasıl gösterebilirim?

Dikkat ederseniz o kısmın yüksekliği ekranın (resmin) yüksekliği ile aynı. O yüksekliğe sahip "delikleri" dikkate almamasını sağlayın.
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-19, 15:39 #23
SefaSeker SefaSeker çevrimdışı
Varsayılan C: Python OpenCV Kumaş Hatası Tespit Projemde yardımcı olabilir misiniz? (Acil)


Alıntı:
Gerçek Mesajı Gönderen qazw7 Mesajı Göster
Dikkat ederseniz o kısmın yüksekliği ekranın (resmin) yüksekliği ile aynı. O yüksekliğe sahip "delikleri" dikkate almamasını sağlayın.
Aslında aynı boyda olanlar delik değil kumaşın belli kısmı girdiği için arkada kalan siyah bant.
Nasıl yapabilirim peki valla çok bir tecrübem yok görüntü işleme üzerine sadece proje için uğraşıyorum

Mesajı son düzenleyen SefaSeker ( 11-05-19 - 15:56 )
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-19, 18:37 #24
qazw7 qazw7 çevrimdışı
Varsayılan C: Python OpenCV Kumaş Hatası Tespit Projemde yardımcı olabilir misiniz? (Acil)

Alıntı:
Gerçek Mesajı Gönderen SefaSeker Mesajı Göster
Aslında aynı boyda olanlar delik değil kumaşın belli kısmı girdiği için arkada kalan siyah bant.
Nasıl yapabilirim peki valla çok bir tecrübem yok görüntü işleme üzerine sadece proje için uğraşıyorum
Anlatamadım sanırım. Bir de şöyle açıklamaya çalışayım.


Kullandığınız kod sadece renk farkını ayırır. Delikmiş başka bir şeymiş anlamaz. Ya da şöyle düşünün, renk farkının olduğu her yeri delik olarak nitelendirir. Bir şeyin kumaştaki delik olduğunu veya olmadığını yazacağınız eklemelerle yapacaksınız. Bunun için delik ile, delik olmayan "delik" arasındaki farkı önce sizin tanımlamanız (belirlemeniz) gerekiyor. Sonra da farkı ayırt etmeye yarayacak kodu, mevcut kodunuza ekleyeceksiniz.


Gördüğüm kadarıyla delik olmayan "delik"in (sizin tabirinizle "kumaşın belli kısmı girdiği için arkada kalan siyah bant") kumaştaki gerçek delikten farkı, yüksekliğinin boydan boya olması. Contour ile bulduğunuz "deliklerden" yüksekliği bu kadar olanları göz ardı etmesini sağlayacak düzenlemeyi yapmanız gerekiyor.


Bunu yapmak için contour ile bulduğunuz şekillerin (contour) yüksekliklerine bakmanız yetecektir.


Bu ilk aşamada işini görür. Ancak kumaşın tam düzgün gelmemesi durumlarda yükseklik tek başına işinize yaramayabilir. Belki genişliği de kullanmanız gerekecek. Yani bulunan şekil (contour) resmin sağına veya soluna dayanmışsa görmezden gelsin gibi.


Bu tür şeyleri yaparken kullanmanız için gerekli bilgileri (dataları) contour komutu size sağlıyor. Eğer daha önce okumadıysanız bile bu sefer düzgünce bir okuyup öğrenin contour'u. Bulunan şekillerin sol (left), üst (top), genişlik (width), yükseklik (height) gibi bir çok değerini öğrenebiliyorsunuz.


Hareketten dolayı olacak durumlarda ise, hareketten önceki ve sonraki durumları karşılaştırarak ayırt etmeyi deneyebilirsiniz. Daha önceden yaptığınız resimleri birbirinden çıkartmayı kast etmiyorum. Bazı bilgileri değişkenlere atıp, onları karşılaştırmaktan bahsediyorum.



Ne tür durumlarla kaşılaşacaksınız bilmiyorum. Bunlardan bazılarını düzeltmek kolay olacaktır, bazıları zor. Bunların ne kadarını göz ardı edebilirsiniz bilemiyorum. Karşılaştıkça kendiniz karar vereceksiniz.


Ayrıca, bu gerçek bir iş olsa, kumaşın kameraya giriş hızı, kumaşın yeri gibi bilgiler de olacaktı elinizde. Bunları da kontrol ederek karar verecek bir kod yazmanız gerekirdi. Mesela böyle bir durum söz konusu olsa, kumaşın en ucunun nerede olacağını bileceğiniz için, o kısımdan sonraki yerleri kontrol etmesiniz söyleyebilirdiniz. Ancak bunun bir okul projesi olduğu düşünülürse, elinizde bu tür bilgiler yoktur sanıyorum. Sizin farklı çözümler üretmeniz gerekir.
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-19, 21:06 #25
SefaSeker SefaSeker çevrimdışı
Varsayılan C: Python OpenCV Kumaş Hatası Tespit Projemde yardımcı olabilir misiniz? (Acil)

Alıntı:
Gerçek Mesajı Gönderen qazw7 Mesajı Göster
Anlatamadım sanırım. Bir de şöyle açıklamaya çalışayım.


Kullandığınız kod sadece renk farkını ayırır. Delikmiş başka bir şeymiş anlamaz. Ya da şöyle düşünün, renk farkının olduğu her yeri delik olarak nitelendirir. Bir şeyin kumaştaki delik olduğunu veya olmadığını yazacağınız eklemelerle yapacaksınız. Bunun için delik ile, delik olmayan "delik" arasındaki farkı önce sizin tanımlamanız (belirlemeniz) gerekiyor. Sonra da farkı ayırt etmeye yarayacak kodu, mevcut kodunuza ekleyeceksiniz.


Gördüğüm kadarıyla delik olmayan "delik"in (sizin tabirinizle "kumaşın belli kısmı girdiği için arkada kalan siyah bant") kumaştaki gerçek delikten farkı, yüksekliğinin boydan boya olması. Contour ile bulduğunuz "deliklerden" yüksekliği bu kadar olanları göz ardı etmesini sağlayacak düzenlemeyi yapmanız gerekiyor.


Bunu yapmak için contour ile bulduğunuz şekillerin (contour) yüksekliklerine bakmanız yetecektir.


Bu ilk aşamada işini görür. Ancak kumaşın tam düzgün gelmemesi durumlarda yükseklik tek başına işinize yaramayabilir. Belki genişliği de kullanmanız gerekecek. Yani bulunan şekil (contour) resmin sağına veya soluna dayanmışsa görmezden gelsin gibi.


Bu tür şeyleri yaparken kullanmanız için gerekli bilgileri (dataları) contour komutu size sağlıyor. Eğer daha önce okumadıysanız bile bu sefer düzgünce bir okuyup öğrenin contour'u. Bulunan şekillerin sol (left), üst (top), genişlik (width), yükseklik (height) gibi bir çok değerini öğrenebiliyorsunuz.


Hareketten dolayı olacak durumlarda ise, hareketten önceki ve sonraki durumları karşılaştırarak ayırt etmeyi deneyebilirsiniz. Daha önceden yaptığınız resimleri birbirinden çıkartmayı kast etmiyorum. Bazı bilgileri değişkenlere atıp, onları karşılaştırmaktan bahsediyorum.



Ne tür durumlarla kaşılaşacaksınız bilmiyorum. Bunlardan bazılarını düzeltmek kolay olacaktır, bazıları zor. Bunların ne kadarını göz ardı edebilirsiniz bilemiyorum. Karşılaştıkça kendiniz karar vereceksiniz.


Ayrıca, bu gerçek bir iş olsa, kumaşın kameraya giriş hızı, kumaşın yeri gibi bilgiler de olacaktı elinizde. Bunları da kontrol ederek karar verecek bir kod yazmanız gerekirdi. Mesela böyle bir durum söz konusu olsa, kumaşın en ucunun nerede olacağını bileceğiniz için, o kısımdan sonraki yerleri kontrol etmesiniz söyleyebilirdiniz. Ancak bunun bir okul projesi olduğu düşünülürse, elinizde bu tür bilgiler yoktur sanıyorum. Sizin farklı çözümler üretmeniz gerekir.

Belli bir yükseklik değeri belirledim ve o değere göre contour`u çizdirebiliyorum artık.
Diğer problemler için de tavsiyelerinizi dikkate alacağım.
Yardımlarınız için teşekkür ederim
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Taglar
acil, hareket, misiniz, projemde, tespit

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



Tüm saatler GMT +3. Şuan saat: 07:20
(Türkiye için artık GMT +3 seçilmelidir.)

 
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz. Reklam Mailimiz. Gizlilik Politikası. Tatil
Copyright © 2018