OpenCV4

From ESE205 Wiki
Jump to navigation Jump to search

Overview

This is a tutorial on how to install OpenCV4 and use camera module.

Materials/Prerequisites

  • Raspberry Pi
  • Raspberry Pi Camera

Process

Install OpenCV

Follow these instruction[1] to install OpenCV onto your Raspberry Pi using the terminal.

  • Important note: don't do make-j4. It may freeze so it best to just do make or make-j1.


After you have successfully installed OpenCV, you will be able to use import cv2. If you do it on the terminal, you want to put in these code source ~/.profile and then workon cv.

Capturing image

Taking picture code

Following these step to set up your camera[2]

  • Note: Ignoring GoPiGo installation.


Once the camera is set up, it is ready to take pictures. In order to capture image, follow these instruction [3]




Note:

  • Use sleep (measured in seconds) to create a delay between the preview: time.sleep(seconds)
  • Another way to enable your camera is: go to the terminal → type in sudo raspi-config → select Enable Camera → press Enter → select Finish → reboot and log back on to the Raspberry Pi.

Edge Detector

Once you have a picture, you may want to use edge detection to detect the chessboard region of interest.

Follow these instruction for Canny edge detection[4]

  • Note: Scroll down to the Explanation section.

In order to use build-in function in Open CV: remember to import cv2. In the instruction, the import cv2 ascv means that you can now type in cv instead of cv2 when using build-in function.



Ex: To load image:

  • src = cv.imread(filename, cv.IMREAD_GRAYSCALE)

Then use:

  • dst = cv.Canny(src, 50, 200, None, 3)

Houghline Transformation

Using the Canny Edge detection to find the region of interest(edges of the image) prior to the Houghline Transformation,one can now ready to use the Hougline Tranformation.

The process should be: capturing an image→Threshhold→Canny Edge Detection→Houghline Transformation.

Follow the following instruction for Houghline Transformation.[5]

The build-in code for Houghline Transformation:

lines = cv.HoughLines(dst, 1, np.pi / 180, 150, None, 0, 0)

Sample Projects

  • ESE205-CVChess/board_Recognition.py [6]
  • DE3-ROB1-CHESS/perception.mainDetect[7]

Authors

  • Nhut Dang
  • Robert Goodloe
  • Ethan Shry(TA)

Fall 2018

Group Link

Group page

Group weekly log

References

  1. Open CV instruction:Link
  2. Setting up camera:Link
  3. Capturing Image:Link
  4. Canny edge detection:Link
  5. Houghline Transformation:Link
  6. ESE205-CVChess/board_Recognition.py :Links
  7. DE3-ROB1-CHESS/perception.mainDetect: Links