search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

fanfuhan OpenCV 教學120 ~ opencv-120-二維碼檢測與識別 – jashliao部落格

fanfuhan OpenCV 教學120 ~ opencv-120-二維碼檢測與識別


資料來源: https://fanfuhan.github.io/

https://fanfuhan.github.io/2019/05/25/opencv-120/

GITHUB:https://github.com/jash-git/fanfuhan_ML_OpenCV


C++

#include 
#include 

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = imread("D:/images/qrcode.png");
	imshow("image", src);
	Mat gray, qrcode_roi;
	cvtColor(src, gray, COLOR_BGR2GRAY);
	QRCodeDetector qrcode_detector;
	vector pts;
	string detect_info;
	bool det_result = qrcode_detector.detect(gray, pts);
	if (det_result) {
		detect_info = qrcode_detector.decode(gray, pts, qrcode_roi);
	}
	vector< vector > contours;
	contours.push_back(pts);
	drawContours(src, contours, 0, Scalar(0, 0, 255), 2);
	putText(src, detect_info.c_str(), Point(20, 200), FONT_HERSHEY_SIMPLEX, 1.0, Scalar(0, 0, 255), 2, 8);
	printf("qrcode info %s \n", detect_info.c_str());
	imshow("result", src);
	waitKey(0);
	return 0;
}


Python

"""
二维码检测与识别
"""

import cv2 as cv
import numpy as np

src = cv.imread("images/fanfan.jpg")
cv.imshow("image", src)
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
qrcoder = cv.QRCodeDetector()
codeinfo, points, straight_qrcode = qrcoder.detectAndDecode(gray)
print(points)
result = np.copy(src)
cv.drawContours(result, [np.int32(points)], 0, (0, 0, 255), 2)
print("qrcode : %s" % codeinfo)
cv.imshow("result", result)
code_roi = np.uint8(straight_qrcode)
cv.namedWindow("qrcode roi", cv.WINDOW_NORMAL)
cv.imshow("qrcode roi", code_roi)

cv.waitKey(0)
cv.destroyAllWindows()


熱門推薦

本文由 jashliaoeuwordpress 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦