• 基于Python的OpenCV中文教程 2020-06-28 15:42:32
    不同于之前的OpenCV Python教程,该中文教程是基于Python3.5,OpenCV 3而制作的教程。Python 2系列将慢慢淘汰,这才是初学者应该去学习的知识。
  • OpenCV Python教程 2019-03-26 13:11:43
    主要使用功能: 1.图像的载入、显示和保存 ...运行环境 python3 1.安装:https://blog.csdn.net/liuweiyuxiang/article/details/80591640 重点命令: * 1.cv2.imread 读取图像 img = cv2.imread(...

    主要使用功能:

    1.图像的载入、显示和保存

    2.目标检测给图像加方框和对应的置信度(文字)并获得裁剪区域, 在裁剪区域叠加水印

     

    运行环境 python3

    1.安装:https://blog.csdn.net/liuweiyuxiang/article/details/80591640

     

    重点命令:

    * 1.cv2.imread 读取图像

    img = cv2.imread(filename)

    * 2.cv2.rectanle 加方框

    cv2.rectangle(img,(int(sx1),int(sy1)),(int(sx2),int(sy2)),(0,255,0),3)

    # 输入参数分别为图像、左上角坐标、右下角坐标、颜色数组、粗细

    cv2.rectangle(img, (x,y), (x+w,y+h), (B,G,R), Thickness)

    * 3.cv2.putText 加文字

    cv2.putText(img, text, (int(sx1),int(sy1-6)), cv2.FONT_HERSHEY_COMPLEX_SMALL,0.8, (0, 255, 0) )

    # 输入参数为图像、文本、位置、字体、大小、颜色数组、粗细

    cv2.putText(img, text, (x,y), Font, Size, (B,G,R), Thickness)

    * 4.cv2.write 保存处理后的图像(JPG, PNG)

    注意: cv2.write的参数为3个(“save_filename”, img, [save_type, quality_level])

    其中:save_type为jpg或png

    当为存储为jpg时,save_type设置为cv2.IMWRITE_JPEG_QUALITY, quality_score从0~100,分数越大,表明质量u越好,当不选择第三个参数时,默认保存的质量分数为95。 注意,cv2.IMWRITE_JPEG_QUALITY类型为Long,必须转换成int。下面是以不同质量存储的两幅图:

    # 针对jpg
    # 不设置质量分数,默认为95
    cv2.imwrite('new.jpg', img)
    
    # 设置为质量分数,假设设置为100
    cv2.imwrite('new.jpg', img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
    

    对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE_PNG_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3:

    # 设置压缩等级为0
    cv2.imwrite("new.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
    
    # 设置压缩等级为9 
    cv2.imwrite("new.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
    

    * 5. cv2.resize 修改图像的大小

    利用opencv中的cv2.resize可以实现将原始图变换为指定的尺寸:、

    三个参数:cv2.resize(源图像,目标大小,变换方法)

    其中目标大小为元组,指定宽度和高度,width 与 height, (w, h)

    变换方法:

    CV_INTER_NEAREST:最近邻插值,  

    CV_INTER_LINEAR:双线性插值 (缺省使用)  

    CV_INTER_AREA:使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_ NEAREST方法..  

    CV_INTER_CUBIC:立方插值.  

    image=cv2.imread('test.jpg')
    res=cv2.resize(image,(32,32),interpolation=cv2.INTER_CUBIC)

    * 6. cv2.imshow 显示处理后的图像

    cv2.imshow('001_new.jpg', img)
    
    cv2.waitKey(0)  # 鼠标点击图像 按空格键退出显示
    
    cv2.destroyAllWindows() 

    二.根据坐标获得裁剪区域

    在上一步得到对应的坐标(x1,x2,y1,y2)之后,想将框出来的区域取出来,这点在Matlab中是比较好实现,opencv同样可以做一样的事情,稍微有点区别。

    hight = y2 - y1
    width = x2 - x1
    cropImg = image[y1:y1+hight, x1:x1+width]

    可以看到,image[],左边是y坐标范围(从上到下坐标增大),右边是x坐标范围(从左到右坐标增大),与matlab相反,cropImg就代表想要的像素区域。

    如果想循环读取:

    for i in range(1,201):
        if i==169 or i==189: 
           i = I+1
        pth="C:\\Users\\Desktop\\asd\\"+str(i)+".bmp" 
      image = cv2.imread(pth)            //从指定路径读取图像    
      cropImg = image[600:1200,750:1500] //获取感兴趣区域                                                                      cv2.imwrite("C:\\Users\\Desktop\\qwe\\"+str(i)+".bmp",cropImg) //保存到指定目录


    三.在裁剪区域叠加水印

    import cv2
    img = cv2.imread('person.jpg')
    logo = cv2.imread('logo.jpg')
    logo_gray = cv2.cvtColor(logo, cv2.COLOR_BGR2GRAY)
    rows, cols, channels = logo.shape
    sx1 = 202
    sx2 = 258
    sy1 = 241
    sy2 = 325
    
    dy = round((sx1 + sx2) / 2.0)
    dx = round((sy1 + sy2) / 2.0)
    roi = img[dx:dx+rows, dy:dy+cols]
    cv2.rectangle(img, (int(sx1), int(sy1)), (int(sx2), int(sy2)), (0, 255, 0), 3)
    for i in range(rows):
        for j in range(cols):
            if (int(logo[i, j][0]) + int(logo[i, j][1]) + int(logo[i, j][2])) <= 20:
                roi[i, j] = roi[i, j]
            else:
                roi[i, j] = logo[i, j]
    roi = cv2.addWeighted(logo, 0.5, roi, 0.5, 1)
    # roi=cv2.add(logo, roi)
    cv2.imshow('001_new.jpg', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

     

    检测出裤子,并添加logo图

     

    参考:

     https://blog.csdn.net/xieqiaokang/article/details/60780608

     https://jingyan.baidu.com/article/d5a880ebdd962f13f147ccb9.html

     

    展开全文
  • 图像的基础操作 目标• 获取像素值并修改• 获取图像的属性(信息)• 图像的 ROI()• 图像通道的拆分及合并 几乎所有这些操作与 Numpy 的关系都比与 OpenCV 的关系更加紧密,因此熟练 Numpy 可以帮助我们写出...
  • 不辜负每个朝阳,不荒废每个深夜,因平凡而奋斗,因奋斗而不平凡 ——夜色的繁星 昨天找到了一本书,想看一遍,顺便把opencv以前忘记的知识回忆一下,巩固一下会...
  • OpenCV-Python 中文教程1——图像与视频的基本操作一、图像目标• 在这里你将学会怎样读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像?• 你将要学习如下函数: cv2.imread(), cv2.imshow(), cv2.imwrite...
  • OpenCV Python教程3 2017-02-03 10:00:33
    ...OpenCV Python教程3、直方图的计算与显示) 2013-06-20 14:40 26679人阅读 评论(3) 收藏 举报  分类: Python(18) OpenCV(12)  版权声明:本文为
  • Python+OpenCV教程3:打开摄像头 主站:http://ex2tron.wang 原文:Python+OpenCV教程3:打开摄像头 学习打开摄像头捕获照片、播放本地视频、录制视频等。视频等可到源码处下载。 目标 打开摄像头并捕获照片 播放...
  • OpenCV-Python教程 2018-07-17 09:01:12
    这个库的建立目的在于翻译OpenCV-Python Tutorials,OpenCV-Python Tutorials是OpenCV官方的Python实现教程。 本人现 在读大二,也是刚刚开始学习OpenCV,刚刚开始时一直感觉无从下手,找到了官方文档之后发现内容...
  • 此文档是python语言版本的opencv中文教程(无目录),目前市场上有关python版本的书籍很少,对python语言熟悉并想了解opencv知识的图像处理爱好者们欢迎来下载 需要有目录的小伙伴可以去...
  • Alexander Mordvintsev & Abid K 编写对于python快速入门opencv的教程,详细的从安装环境到具体的代码,执行,运行结果都有详细的配图。
  • 在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值。 你将学习函数cv.threshold和cv.adaptiveThreshold。 简单阈值 在这里,问题直截了当。对于每个像素,应用相同的阈值。如果像素值小于阈值,则将其设置为0...
  • anaconda3安装+opencv3安装 过程记录 step1: 去下载anaconda(python集成开发环境),不建议去官网下(太慢了),这里有链接 这位仁兄知乎上找到的镜像资源链接 安装的时候记得勾上(安装时忘了截图) Add ...
  • Python-OpenCV教程-1 2017-02-21 16:26:49
    cv2.destroyAllWindows()简单地关闭所有的窗口,如果想关闭特定的窗口,可以使用cv2.destroyWindow(‘窗口名字’)。 有时,我们会先创建一个窗口,然后再载入图片,这是可以使用cv2.namedWindow(),它的第二个...
  • Win10+Anaconda3环境下的OpenCV4.0-Python安装教程 在OpenCV 3.0发布三年半之后,OpenCV 4.0终于发布了。我看了一下网上的教程都是利用Visual Studio对OpenCV源码进行编译的办法来安装的,繁琐不说,还容易出错。我...
  • OpenCV OpenCV最先是由Gary Bradsky在1999年于Intel开发的,在2000年出现了最早的发行版。后来,Vadim Pisarevsky加入了Gary Bradsky,一同管理Intel的俄罗斯软件OpenCV团队。在2005年,OpenCV被用在开发Stanley上...
  • 全栈工程师开发手册 (作者:栾鹏) python教程全解 OpenCV安装pip install --...pip install opencv-pythonOpenCV的结构和Python一样,当前的OpenCV也有两个大版本,OpenCV2和OpenCV3。相比OpenCV2,OpenCV3提供了
  • 涉及内容: 背景提取 颜色过滤 边缘检测 用于对象识别的特征匹配 一般对象识别 你将需要两个主要的库,第三个可选:python-OpenCV,Numpy 和 Matplotlib。 一、加载图片 首先,我们正在导入一些东西,我已经安装了...
  • OpenCV简介 了解如何在您的计算机上设置OpenCV-Python! Gui在OpenCV中的功能 在这里,您将学习如何显示和保存图像和视频,控制鼠标事件和创建轨迹栏。 核心业务 在本节中,您将学习图像的基本操作,如像素编辑,...
  • opencv入门级() 通过anaconda安装opencv(我的anaconda5.2) 部分选自:...1.图片显示 用 imread 显示图像 import cv2 import numpy as np from matplotlib import pyplot as plt im...
  • python3.5open cv的安装 2017-12-04 15:17:33
    open cv 下载网址:... opencv_python‑3.3.1‑cp35‑cp35m‑win_amd64.whl,这个名字标识了三部分:cp35,cp35m和win_amd64。cp35表示Python是3.5版本,win_amd64是表示安装的Python是64bit的。  pip
1 2 3 4 5 ... 7
收藏数 127
精华内容 50