제조공정
(참고:이것은 고급 자습서이며 Linux 초보자를 대상으로 하지 않습니다.)
이 튜토리얼에서는 Raspberry Pi에서 OpenCV를 사용하여 탁구 공을 추적하는 방법을 보여줍니다. 배경에서 잘 감지될 수 있는 한 원형 물체를 추적하는 데 사용할 수 있습니다. 이는 볼 추적 로봇 및 이와 유사한 프로젝트에 유용할 수 있습니다.
필요한 것:
1. Raspberry Pi(최신 Raspbian이 설치된 경우 여기에서 다운로드할 수 있습니다. https://www.raspberrypi.org/downloads/ 동일한 사이트의 설치 지침을 따르십시오)
2. USB 웹캠(Rasppi에서 지원하는 웹캠 테스트)
3. Linux Mint 17에서 테스트한 Linux 호스트(Linux Mint/Ububtu 권장).
4. 데비안 시스템 사용 경험
지침:
1. Rpi 연결 만들기:키보드, 마우스, 웹캠, 이더넷 또는 Wi-Fi 동글, HDMI를 통한 디스플레이, 전원
2. Rpi 전원 켜기
3. Rpi에서 raspbian GUI로 부팅(GUI로의 Raspbian 부팅)
4. 터미널을 열고 OpenCV를 설치합니다(OpenCV가 올바르게 설치되었는지 확인하려면 Trevor Appleton의 우수한 가이드를 따르십시오. Rpi에 OpenCV를 설치하십시오)
5. scp 또는 플래시 드라이브를 사용하여 "bdtct.py" 파일을 rpi의 홈 폴더에 복사합니다.
rpi의 터미널에서 bdtct.py를 복사한 폴더로 이동합니다.
2. 다음 명령을 실행하십시오.
sudo 파이썬 bdctc.py
위 그림과 같이 5개의 창을 열어야 합니다.
3. 웹캠 앞에 탁구공(가능하면 노란색 공 사용)을 가져옵니다.
5. "추적" 창에서 공을 추적해야 합니다. 그렇지 않은 경우 "닫기" 창에서 탁구 공의 영역만 흰색으로 나타나도록 "HueComp", "SatComp", "ValComp" 창의 슬라이더를 각각 조정합니다(위 그림 참조). 이 작업을 수행하려면 약간의 실험이 필요할 수 있습니다. 당신을 위해 작동하는 슬라이더의 값을 기록해 둡니다. 나중에 bdtct.py에서 편집할 수 있습니다.
텍스트 편집기에서 bdtct.py 파일을 엽니다.
bdtct.py 코드는 다음을 수행합니다.
1. "cap =cv2.VideoCapture(-1)"로 입력 받기
2. rpi가 초당 더 많은 프레임을 출력할 수 있도록 비디오 프레임의 크기를 320×240의 더 작은 크기로 조정합니다.
3. 각각의 최소 및 최대 슬라이더를 사용하여 "HueComp", "SatComp", "ValComp" 창과 같은 시각적 요소 만들기
4. 입력을 BGR에서 HSV 시스템으로 변환 "hsv =cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)"
5. 색조, 채도 및 값 구성 요소 분할.
6. 이진 임계값 이미지를 얻기 위해 각각의 최소 및 최대 슬라이더에 의해 정의된 임계값 범위에 따라 각 구성요소 임계값(위 그림 참조)
7. 임계값 색조, 새츄라리온, 값 구성 요소를 논리적으로 AND하여 탁구공의 픽셀만 흰색이고 나머지는 모두 검은색인 거친 이진 이미지를 얻습니다. (위 그림 참조)
8. AND 이미지 스무딩 "closing =cv2.GaussianBlur(closing,(5,5),0)"
9. HoughCircles를 사용하여 이미지에서 원 감지
10. 원본 입력 프레임에 감지된 원을 그립니다.
자세한 내용:Raspberry Pi Ball 추적
제조공정
배경 사람은 물건을 옮겨야 하기 시작하면서부터 일을 더 쉽게 하기 위해 둥근 롤러를 사용했습니다. 아마도 최초의 롤러는 막대기나 통나무였을 것입니다. 이것은 땅을 가로질러 물건을 끄는 것보다 크게 개선되었지만 여전히 꽤 힘든 작업이었습니다. 이집트인들은 피라미드를 위해 거대한 돌 블록을 굴리기 위해 통나무를 사용했습니다. 결국 누군가가 롤러를 움직이는 모든 것에 고정시키는 아이디어를 생각해냈고 바퀴가 있는 최초의 차량을 만들었습니다. 그러나 이들은 여전히 서로 구르는 대신 서로 마찰하는 재료로 만든 베어링을 가지고 있었습니다
구성품 및 소모품 라즈베리 파이 2 모델 B × 1 PNY 16GB Turbo MicroSDXC CL10 × 1 SparkFun Arduino Pro Mini 328 - 5V/16MHz × 1 SainSmart 5V 4채널 솔리드 스테이트 릴레이 보드 × 1 Tolako 5v Arduino용 릴레이 모듈 × 1 DS18b20 방수 온도 센서 × 1 4.7k 옴 저항기 - 1/4와트 - 5% - 4K7(10개)