OpenCV-Python träffbildsanalys
Re: OpenCV-Python träffbildsanalys
Nu har konstruktionen tagit form, en webkamera från Jula(199kr) tar video/bild av måltavlan. Ett problem hittils har varit att webkameran inte verkar klara av utomhusmiljöer som blir helt överexponerade. Bilden som tas är 1280x720, så det fungerar att hitta hål i den.
Tyvärr blir bilden extremt överexponerad utomhus när solen är framme, det verkar vara ett vanligt problem med webkamera och raspberry... Får försöka hitta en lösning
Tyvärr blir bilden extremt överexponerad utomhus när solen är framme, det verkar vara ett vanligt problem med webkamera och raspberry... Får försöka hitta en lösning
Re: OpenCV-Python träffbildsanalys
Köp en enkel övervakningskamera med nätverksanslutning istället. Dom har bländare som justerar ljusmängden precis som på en riktig systemkamera. Kolla i databladet efter iris control.
Re: OpenCV-Python träffbildsanalys
Finns en app till mobiltelefon som heter Targetscan som är hel fenomenal på att analysera träffbilder. Den här tråden kommer jag att följa med stort intresse! Bra jobbat!
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: OpenCV-Python träffbildsanalys
Tyvärr kan de billiga kamerorna ha en massa autoskräp i sig som man inte kan stänga av.
Smart Camera är ett rätt bra program för att leka med parametrarna, finns i zippen man kan ladda ner till denna kameran:
https://www.biltema.se/bil---mc/verksta ... 2000034725
Sen är där mycket fisköga på många av de kameror som säljs, här vill man ha ett mindre field of view.
Finns flera appar och program för att räkna vilken lins som passar, bl a
https://www.stemmer-imaging.com/en/lens ... culations/
Arducam är de billigaste jag har hittat för kameror och linser.
http://www.arducam.com/
Smart Camera är ett rätt bra program för att leka med parametrarna, finns i zippen man kan ladda ner till denna kameran:
https://www.biltema.se/bil---mc/verksta ... 2000034725
Sen är där mycket fisköga på många av de kameror som säljs, här vill man ha ett mindre field of view.
Finns flera appar och program för att räkna vilken lins som passar, bl a
https://www.stemmer-imaging.com/en/lens ... culations/
Arducam är de billigaste jag har hittat för kameror och linser.
http://www.arducam.com/
Re: OpenCV-Python träffbildsanalys
har du läst om detta med autoexponeringen på webkameror
http://internetbasedhomemonitor.blogspo ... olved.html
http://internetbasedhomemonitor.blogspo ... olved.html
Re: OpenCV-Python träffbildsanalys
Jag har letat runt på nätet, men tyvärr verkar det som att webkamerorna bara har en bländare, som är anpassad för inomhusanvändning. Jag testade att låta kameran ta ett antal bilder för att själv justera innan bildtagningen(som i länken), men det fungerade inte heller tyvärr.
En dyrare kamera hade säkert klarat av det, men det hade inte varit lika roligt att sätta den bredvid målet. Det är också svårt att utröna om en kamera kommer att fungera innan man har provat den, kompabilitet med Raspberry Pi är också ett krav som inte alla kameror klarar av.
En dyrare kamera hade säkert klarat av det, men det hade inte varit lika roligt att sätta den bredvid målet. Det är också svårt att utröna om en kamera kommer att fungera innan man har provat den, kompabilitet med Raspberry Pi är också ett krav som inte alla kameror klarar av.
Re: OpenCV-Python träffbildsanalys
Sätt solglasögon på kameran? Något antigen färgat eller neutralt mörkt filter borde kunna hjälpa dig från att mätta kameran.
- tecno
- Inlägg: 27022
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: OpenCV-Python träffbildsanalys
Jag hade hellre valt en kamera där jag kan byta optik och ha hela kamerariggen en bra bit ifrån = mindre risk att få det hela sönderskjutet.sätta den bredvid målet
Re: OpenCV-Python träffbildsanalys
Ett enkelt sätt att minska bländaren på kameran är att göra en egen bländare. Någon cm framför linsen placeras en matt-svart papp-skiva med lagom stort hål.
Hålstorleken ger bländareffekten. Gråmask alt färga linserna minskar skärpedjup/kontrast.
Hålstorleken ger bländareffekten. Gråmask alt färga linserna minskar skärpedjup/kontrast.
Re: OpenCV-Python träffbildsanalys
Det är ganska lätt att hitta en CCTV-lins med motorstyrd bländare och CS linsgänga. Runt 13USD ink frakt.
Sen får man nog lusläsa vilken CCTV-kamera med CS linsgänga som har både TCP/IP (WiFi?) och stöd för motorstyrd bländare.
Jag antar att "motorstyrd bländare" bara kommer att vara en lödanslutning och kanske inte jättebra dokumenterad.
Om det sticker i väg i pris eller om det är svårt att hitta så går det att ta en kamera med M12-gänga och byta till CS-gänga. Utbudet av kameror med M12-gänga är mycket större.
Sen får man nog lusläsa vilken CCTV-kamera med CS linsgänga som har både TCP/IP (WiFi?) och stöd för motorstyrd bländare.
Jag antar att "motorstyrd bländare" bara kommer att vara en lödanslutning och kanske inte jättebra dokumenterad.
Om det sticker i väg i pris eller om det är svårt att hitta så går det att ta en kamera med M12-gänga och byta till CS-gänga. Utbudet av kameror med M12-gänga är mycket större.
- farbrorvattenmelon
- Inlägg: 255
- Blev medlem: 29 januari 2009, 21:38:21
Re: OpenCV-Python träffbildsanalys
Prova ett gråfilter framför eller bara ett par solglasögon?
Re: OpenCV-Python träffbildsanalys
Om raspberrys egna kamera duger så finns det CS-adapter på thingiverse.
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: OpenCV-Python träffbildsanalys
De kontrasterna duger fint.
Kod: Markera allt
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_blue = np.array([100,100,100])
upper_blue = np.array([150,255,255])
mask = cv2.inRange(hsv,lower_blue, upper_blue)
result = cv2.bitwise_and(img,img,mask = mask)
imgray = cv2.cvtColor(result,cv2.COLOR_BGR2GRAY)
im2, contours, hierarchy = cv2.findContours(imgray,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0,255,0), 3)
cv2.imshow('masked',result)
cv2.imshow('contours',img)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- Krille Krokodil
- Inlägg: 4062
- Blev medlem: 9 december 2005, 22:33:11
- Ort: Helsingborg
Re: OpenCV-Python träffbildsanalys
Kod: Markera allt
hsv = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lower_board = np.array([0,0,230])
upper_board = np.array([180,255,255])
mask = cv2.inRange(hsv,lower_board, upper_board)
result = cv2.bitwise_and(img,img,mask = mask)
imgray = cv2.cvtColor(result,cv2.COLOR_BGR2GRAY)
im2, contours, hierarchy = cv2.findContours(imgray,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
for i, contour in enumerate(contours):
area = cv2.contourArea(contour)
if area <= 10000:
continue
epsilon = 0.1*cv2.arcLength(contour,True)
approx = cv2.approxPolyDP(contour,epsilon,True)
cv2.drawContours(img,[approx],0,(0,0,255),2)
print(approx)
pts1 = np.float32(approx)
pts2 = np.float32([[0, 0], [0, 500], [750, 500], [750, 0]])
matrix = cv2.getPerspectiveTransform(pts1, pts2)
warped = cv2.warpPerspective(img, matrix, (750, 500))
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.