最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在OpenCV里實現(xiàn)條碼區(qū)域識別的方法示例

 更新時間:2019年12月04日 14:29:06   作者:caimouse  
這篇文章主要介紹了在OpenCV里實現(xiàn)條碼區(qū)域識別的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在我們識別條碼的過程里,首先要找到條碼所在的區(qū)域,那么怎么樣來找到這個條碼的區(qū)域呢?如果仔細地觀察條碼,會發(fā)現(xiàn)條碼有一個特性,就是水平的梯度和垂值的梯度會不一樣,如果進行相減,會發(fā)現(xiàn)差值比較大。如果其它位置的圖像一般不會這樣。利用這個特性,就可以把條碼所在區(qū)域求出來。

演示的代碼如下:

#python 3.7.4,opencv4.1
#蔡軍生 https://blog.csdn.net/caimouse/article/details/51749579
#9073204@qq.com
#
import numpy as np
import cv2
from matplotlib import pyplot as plt
 
#讀取圖片
img = cv2.imread('barcode6.jpg')
#
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow('gray', gray)
 
gradX = cv2.Sobel(gray, ddepth=cv2.CV_32F, dx=1, dy=0, ksize=-1)
gradY = cv2.Sobel(gray, ddepth=cv2.CV_32F, dx=0, dy=1, ksize=-1)
 
gradient = cv2.subtract(gradX, gradY)
gradient = cv2.convertScaleAbs(gradient)
cv2.imshow('gradient', gradient)
 
blurred = cv2.blur(gradient, (9, 9))
(_, thresh) = cv2.threshold(blurred, 225, 255, cv2.THRESH_BINARY)
cv2.imshow('thresh', thresh)
 
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (21, 7))
closed = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel)
 
closed = cv2.erode(closed, None, iterations = 4)
closed = cv2.dilate(closed, None, iterations = 4)
cv2.imshow('closed', closed)
 
cnts,hierarchy = cv2.findContours(closed.copy(), cv2.RETR_EXTERNAL,
	cv2.CHAIN_APPROX_SIMPLE)
c = sorted(cnts, key = cv2.contourArea, reverse = True)[0]
 
#找最大的邊框
rect = cv2.minAreaRect(c)
box = cv2.boxPoints(rect)
box = np.int0(box)
 
# 畫一個找到的方框
cv2.drawContours(img, [box], -1, (0, 255, 0), 3)
  
cv2.imshow('img', img)
 
#
cv2.waitKey(0)
cv2.destroyAllWindows()

結果輸出如下:

轉換為灰度圖

X軸梯度減去Y軸梯度求絕對值

經過閾值處理后的圖片

經過形態(tài)學處理后的圖片

最后的輸出結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python中plt.imshow(image)無法顯示圖片的解決

    Python中plt.imshow(image)無法顯示圖片的解決

    這篇文章主要介紹了Python中plt.imshow(image)無法顯示圖片的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 在pytorch中查看可訓練參數(shù)的例子

    在pytorch中查看可訓練參數(shù)的例子

    今天小編就為大家分享一篇在pytorch中查看可訓練參數(shù)的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python使用filetype精確判斷文件類型

    Python使用filetype精確判斷文件類型

    判斷文件類型在開發(fā)中非常常見的需求,怎樣才能準確的判斷文件類型呢?首先大家想到的是文件的后綴,但是非常遺憾的是這種方法是非常不靠譜的,因為文件的后綴是可以隨意更改的,而python中有個小插件可以實現(xiàn),下面我們就來詳細探討下
    2017-07-07
  • 詳解pytorch 0.4.0遷移指南

    詳解pytorch 0.4.0遷移指南

    這篇文章主要介紹了詳解pytorch 0.4.0遷移指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • 使用Python、TensorFlow和Keras來進行垃圾分類的操作方法

    使用Python、TensorFlow和Keras來進行垃圾分類的操作方法

    這篇文章主要介紹了如何使用Python、TensorFlow和Keras來進行垃圾分類,這個模型在測試集上可以達到約80%的準確率,可以作為一個基礎模型進行后續(xù)的優(yōu)化,需要的朋友可以參考下
    2023-05-05
  • Python3如何在服務器打印資產信息

    Python3如何在服務器打印資產信息

    這篇文章主要介紹了Python3如何在服務器打印資產信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • openCV實踐項目之銀行卡卡號識別功能

    openCV實踐項目之銀行卡卡號識別功能

    最近在惡補opencv,在前期不太那么認真的學習狀態(tài)下,著手搞了一下這個小項目實戰(zhàn),基于模板匹配下的銀行卡卡號識別,下面這篇文章主要給大家介紹了關于openCV實踐項目之銀行卡卡號識別功能的相關資料,需要的朋友可以參考下
    2022-11-11
  • 淺析PHP與Python進行數(shù)據(jù)交互

    淺析PHP與Python進行數(shù)據(jù)交互

    本篇文章給大家分享了PHP與Python進行數(shù)據(jù)交互的詳細方法以及重點點撥,有興趣的朋友可以學習下。
    2018-05-05
  • Python實現(xiàn)蒙特卡洛模擬的示例代碼

    Python實現(xiàn)蒙特卡洛模擬的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)蒙特卡洛模擬,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • django框架F&Q 聚合與分組操作示例

    django框架F&Q 聚合與分組操作示例

    這篇文章主要介紹了django框架F&Q 聚合與分組操作,結合實例形式詳細分析了Django框架查詢條件取對象中某列值、構建搜索條件以及聚合查詢等相關操作技巧,需要的朋友可以參考下
    2019-12-12

最新評論

德阳市| 东阿县| 乌兰县| 文登市| 宜宾县| 华宁县| 九江县| 桦南县| 古蔺县| 阳西县| 水城县| 紫云| 揭东县| 垫江县| 遵义市| 彭山县| 基隆市| 额济纳旗| 上饶市| 旅游| 荔波县| 西充县| 汽车| 军事| 古丈县| 外汇| 图们市| 名山县| 苗栗县| 高雄市| 新乡县| 巴彦淖尔市| 集安市| 白水县| 乌拉特后旗| 高碑店市| 车致| 涿鹿县| 桓台县| 蒙阴县| 怀远县|