Sida 2 av 3
Re: OpenCV-Python träffbildsanalys
Postat: 24 april 2019, 17:50:35
av Shimano
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

Re: OpenCV-Python träffbildsanalys
Postat: 24 april 2019, 18:13:37
av mrfrenzy
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
Postat: 24 april 2019, 18:26:24
av jako
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!

Re: OpenCV-Python träffbildsanalys
Postat: 24 april 2019, 19:22:01
av Krille Krokodil
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/
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 00:48:44
av nifelheim
har du läst om detta med autoexponeringen på webkameror
http://internetbasedhomemonitor.blogspo ... olved.html
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 07:57:52
av Shimano
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.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 08:18:37
av farskost
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.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 09:38:50
av tecno
sätta den bredvid målet
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.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 10:07:13
av E Kafeman
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.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 15:46:21
av netrunner
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.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 15:52:21
av farbrorvattenmelon
Prova ett gråfilter framför eller bara ett par solglasögon?
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 16:24:38
av Johanb
Om raspberrys egna kamera duger så finns det CS-adapter på thingiverse.
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 16:33:12
av Shimano
Solglasögon gjorde susen!

Tack för ett bra tips!

Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 17:47:20
av Krille Krokodil
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)
Screenshot 2019-04-25 at 17.41.19.png
Screenshot 2019-04-25 at 17.41.29.png
Re: OpenCV-Python träffbildsanalys
Postat: 25 april 2019, 19:51:58
av Krille Krokodil
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))
Screenshot 2019-04-25 at 19.46.59.png
Screenshot 2019-04-25 at 19.47.20.png