【人工智能】计算机视觉之OpenCV学习详解
562 打赏
【人工智能】计算机视觉之OpenCV学习详解 上进小菜猪 2023-03-22 11:40:00

一,前言

看准这个方向很久了,今天开始和Java,Go一起推进学习。不求多,每天学习一点点。

二,OpenCV安装

作为Python选手的我,当然选择了Python语言来学习OpenCV。

编译器:还是使用pycharm哈。

安装OpenCV-python模块,可以使用pip安装或者编译器安装。
本人亲身体验,编译器安装极慢,推荐使用清华大学的镜像安装。

  1. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python

看情况,编译器安装也可。

三,实战学习

  1. import cv2
  2. print(cv2.getVersionString())

先输出看一下模块版本,正常输出版本号,代表正常。

函数imread(filepath,flags)读入图片。
输出他的大小参数信息。

  1. im=cv2.imread("C:/Users/24190/Pictures/zhu.jpg")
  2. print(im.shape)

4.5.4
(150, 150, 3)

显示图像的函数imshow

  1. cv2.imshow("im",im)

等待键盘输入关闭,否则会一闪而过。

  1. cv2.waitKey()

效果展示:

3.1,色彩处理


BGR顺序存储。

  1. cv2.imshow("blue",im[:,:,0])
  2. cv2.imshow("green",im[:,:,1])
  3. cv2.imshow("red",im[:,:,2])

色彩分析:

这个图不明显哈,换一个。

分析如下:

光子数的灰度图。
彩色图片恢复变换算法。
原理,把三个图像做平方和加权处理。

  1. ga=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
  2. cv2.imshow("gary",ga)

说明了图像粒子分布。

3.2,裁剪提取

裁剪:

  1. crop=im[10:270,40:200]
  2. cv2.imshow("crop",crop)

索引顺序,先下在上。

3.3,图像绘制

使用numpy模块

  1. image =np.zeros([300,300,3],dtype=np.uint8)

构建一个300×300,边框像素为3的黑色画布
我们话一条线,语法:cv2. line (图像, 起点, 终点, 颜色, 厚度)

  1. cv2.line(image,(100,100),(250,250),(255,0,0),2)

绘制一个四边形(图片,长方形框左上角坐标, 长方形框右下角坐标, 字体颜色,字体粗细)

  1. cv2.rectangle(image,(30,100),(60,150),(0,255,0),2)

绘制一个圆(image, center_coordinates, radius, color, thickness)

  1. cv2.circle(image,(150,100),20,(0,0,255),3)

绘制一个字符串。图片,要添加的文字,文字添加到图片上的位置
,字体的类型,字体大小,字体颜色,字体粗细。

  1. cv2.putText(image,"hello",(100,50),0,1,(255,255,255),2,1)

四,源码

  1. import cv2
  2. import numpy as np
  3. image =np.zeros([300,300,3],dtype=np.uint8)
  4. cv2.line(image,(100,100),(250,250),(255,0,0),2)
  5. cv2.rectangle(image,(30,100),(60,150),(0,255,0),2)
  6. cv2.circle(image,(150,100),20,(0,0,255),3)
  7. cv2.putText(image,"hello",(100,50),0,1,(255,255,255),2,1)
  8. cv2.imshow("img",image)
  9. cv2.waitKey()

五,后言

继续学习。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
评论
0个
时间排序
内容存在敏感词
    0 条记录 第 0 /
    相关专栏
    打赏作者
    易百纳技术社区
    上进小菜猪
    您的支持将鼓励我继续创作!
    打赏金额:
    ¥1 易百纳技术社区
    ¥5 易百纳技术社区
    ¥10 易百纳技术社区
    ¥50 易百纳技术社区
    ¥100 易百纳技术社区
    支付方式:
    微信支付
    支付宝支付
    易百纳技术社区 微信支付
    易百纳技术社区
    打赏成功!

    感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

    举报反馈

    举报类型

    • 内容涉黄/赌/毒
    • 内容侵权/抄袭
    • 政治相关
    • 涉嫌广告
    • 侮辱谩骂
    • 其他

    详细说明

    审核成功

    发布时间设置
    发布时间:
    是否关联周任务-专栏模块

    审核失败

    失败原因
    备注
    Loading...
    易百纳技术社区
    确定要删除此文章、专栏、评论吗?
    确定
    取消
    易百纳技术社区
    易百纳技术社区
    在专栏模块发布专栏,可获得其他E友的打赏
    易百纳技术社区
    回答悬赏问答,被题主采纳后即可获得悬赏金
    易百纳技术社区
    在上传资料时,有价值的资料可设置为付费资源
    易百纳技术社区
    达到一定金额,收益即可提现~
    收益也可用来充值ebc,下载资料、兑换礼品更容易
    易百纳技术社区
    活动规则
    • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
    • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准,专栏需为原创文章且首次在社区发布
    • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
    易百纳技术社区
    升级提醒
    升级

    恭喜您的社区称号由 升级为 “社区游民”

    同时为了感谢您对社区的支持,我们将送出xxx礼品一份, 记得领取哦~

    升级提醒
    易百纳技术社区