python-opencv的学习 环境搭建 基本案例

本文介绍了如何使用Python的OpenCV库进行环境搭建,详细讲解了图像处理的基本操作,如图像读取、展示、二值化以及轮廓检测。特别地,文章通过实例展示了轮胎缺陷检测的过程,利用图像算法自动识别和定位轮胎的缺陷,最终指出对于更精确的检测,卷积神经网络的应用是必要的。
摘要由CSDN通过智能技术生成

python-opencv的学习 环境搭建 基本案例

题目:

背景:在生产汽车轮胎中,会有各种各样的缺陷需要人工检测,现用图像算法代替人工进 行检测。

1根据给出的正常轮胎及有缺陷的轮胎图片识别出轮胎的胎侧缺胶的缺陷类型,并在所给图片中定位缺陷(可用一个矩形框框出)

解决过程

环境搭建

pip install opencv-python

(pip install opencv-contrib-python 【扩展模块】,pip install pytesseract)

什么是opencv(open computer view)

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

安装和配置opencv(mac)
#下载cmake
'''
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
'''
brew insatl cmake

#获取opencv源代码
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
 
#构建opencv
#在源码目录中创建一个临时目录,这里会存放一下cmake编译生成的文件
cd~ / opencv
mkdir build

#配置
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

#构建安装
make -j6#并行运行6个作业
sudo make install
manblue@appledeMBP ~ % pip install opencv-python
Looking in indexes: http://pypi.douban.com/simple/
Collecting opencv-python
 Downloading http://pypi.doubanio.com/packages/7c/0b/df5987ee6671eb7645d990b70832780daf0ece89469af0a792d8dcbcfe62/opencv_python-4.2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl (49.1 MB)
    |████████████████████████████████| 49.1 MB 3.4 MB/s 
Requirement already satisfied: numpy>=1.14.5 in /usr/local/lib/python3.7/site-packages (from opencv-python) (1.18.2)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.2.0.34
manblue@appledeMBP ~ % pip install opencv-contrib-python
Looking in indexes: http://pypi.douban.com/simple/
Collecting opencv-contrib-python
 Downloading http://pypi.doubanio.com/packages/ee/9a/ce4d349af0648bb4d98fbb24959b1bd91a2b79e6903d8f25f23ab33a3e2e/opencv_contrib_python-4.2.0.34-cp37-cp37m-macosx_10_9_x86_64.whl (60.3 MB)
    |████████████████████████████████| 60.3 MB 352 kB/s 
Requirement already satisfied: numpy>=1.14.5 in /usr/local/lib/python3.7/site-packages (from opencv-contrib-python) (1.18.2)
Installing collected packages: opencv-contrib-python
Successfully installed opencv-contrib-python-4.2.0.34
manblue@appledeMBP ~ % pip install pytesseract
Looking in indexes: http://pypi.douban.com/simple/
Collecting pytesseract
 Downloading http://pypi.doubanio.com/packages/3c/1d/2993a05adb253902a372d7886733ae7688615cf000c54fe3c075892cb5d4/pytesseract-0.3.3.tar.gz (13 kB)
Collecting Pillow
 Downloading http://pypi.doubanio.com/packages/43/0e/db0117d3c810cc5c5d04802988be8983f4f51a78ae65d53bddcff68bf692/Pillow-7.1.1-cp37-cp37m-macosx_10_10_x86_64.whl (2.2 MB)
    |████████████████████████████████| 2.2 MB 43 kB/s 
Building wheels for collected packages: pytesseract
 Building wheel for pytesseract (setup.py) ... done
 Created wheel for pytesseract: filename=pytesseract-0.3.3-py2.py3-none-any.whl size=13399 sha256=3434014f14281e70903194b4aa9ab5b0c71b2d0c8bfad16e6665247dffd8be31
 Stored in directory: /Users/manblue/Library/Caches/pip/wheels/82/94/6b/d92b5802d82860e110c9d757c5c5bb6658cb9aa8268e415c7c
Successfully built pytesseract
Installing collected packages: Pillow, pytesseract
Successfully installed Pillow-7.1.1 pytesseract-0.3.3

##知识点学习:python-opencv学习

图像的读取 展示

img=cv2.imread('image/lenacolor.png',cv2.IMREAD_UNCHANGED)
'''
原图展示
cv2.IMREAD_UNCHANGED
灰度图展示
cv2.IMREAD_GRAYSCALE
彩色图展示
cv2.IMREAD_COLOR
'''
#2、图片保存
cv2.imwrite('image/gray_test.jpg',img)
#3、图片展示
cv2.imshow('original',img)
#4、图片暂停展示
cv2.waitKey(num)

视频展示

import cv2
#捕捉视频
cap = cv2.VideoCapture('vedio/重庆.m4v')
#逐桢读取
while True:
   successs,img = cap.read()
   cv2.imshow('vedio',img)
   #按q结束
   if cv2.waitKey(1) & 0xFF == ord('q'):
       break

网络摄像头

import cv2
#0表示默认摄像头
cap = cv2.VideoCapture(0)
#根据id改变视频显示的各种参数的参数
cap.set(3,640)#3是wide
cap.set(4,480)#4是height
cap.set(10,100)#10是亮度
#逐桢读取
while True:
   successs,img = cap.read()
   cv2.imshow('vedio',img)
   #按q结束
   if cv2.waitKey(1) & 0xFF == ord('q'):
       break

图片操作

import cv2
import numpy as np

img1 = cv2.imread('image/正常图片.jpg')
img_2 = cv2.imread('image/胎侧缺胶1.jpg')
#灰化图像
imgGray =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值