官术网_书友最值得收藏!

  • OpenCV 4 with Python Blueprints
  • Dr. Menua Gevorgyan Arsen Mamikonyan Michael Beyeler
  • 293字
  • 2021-06-24 16:50:06

Running the app – the main() function routine

To run our app, we will need to execute the main() function routine. The following steps show us the execution of main() routine: 

  1. The function first accesses the webcam with the VideoCapture method by passing 0 as an argument, which is a reference to the default webcam. If it can not access the webcam, the app will be terminated:
import cv2 as cv
from feature_matching import FeatureMatching

def main():
capture = cv.VideoCapture(0)
assert capture.isOpened(), "Cannot connect to camera"
  1. Then, the desired frame size and frame per second of the video stream is set. The following snippet shows the code for setting the frame size and frame per second of the video:
 capture.set(cv.CAP_PROP_FPS, 10)
capture.set(cv.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
  1. Next, an instance of the FeatureMatching class is initialized with a path to a template (or training) file that depicts the object of interest. The following code shows the FeatureMatching class:
matching = FeatureMatching(train_image='train.png')
  1. After that, to process the frames from the camera, we create an iterator from the capture.read function, which will terminate when the function fails to return frame ((False,None)). This can be seen in the following code block:
    for success, frame in iter(capture.read, (False, None)):
cv.imshow("frame", frame)
match_succsess, img_warped, img_flann = matching.match(frame)

In the previous code block, the FeatureMatching.match method processes the BGR image (capture.read returns frame in BGR format)If the object is detected in the current frame, the match method will report match_success=True and return the warped image as well as the image that illustrates the matches—img_flann.

Let's move on and display the results in which our match method will return.

主站蜘蛛池模板: 沧源| 沧州市| 马鞍山市| 盖州市| 淮南市| 独山县| 泽州县| 盈江县| 含山县| 思南县| 平山县| 石景山区| 淮北市| 桂林市| 道真| 海门市| 时尚| 滦南县| 含山县| 铜山县| 津南区| 长海县| 赞皇县| 淳化县| 襄樊市| 乌拉特中旗| 牡丹江市| 乌苏市| 邵阳市| 灌南县| 麻栗坡县| 青川县| 乐清市| 莫力| 平昌县| 修武县| 泾阳县| 孙吴县| 监利县| 南华县| 高安市|