今天是2022年7月25日,开始学习Jupyter Notebook。

最近看了一篇论文,采用改进YoloV4模型检测复杂环境下马铃薯_张兆国。论文里的方法是在的复杂环境下检测马铃薯,处理照片所用的软件为openCV,以下是我的大致安排。

时间:四天(7.25-7.29)

学习任务:简单了opencv,学会用软件简单处理照片。

学习网站:极棒的数字图像处理入门到进阶教程:Python OpenCV实战数图_哔哩哔哩_bilibili

学习资料:G:\opencv

接下来我将会记录在所学过程中所遇到的困难和学习心得

1、程序包含两个cell,当我直接运行第二个cell,显示报错,报错内容是“某某未定义”,但是我已经定义了,我百思不得其解。

答:

标题

注意前面的中括号,试运行的顺序,将上面导入模块的代码运行后,再运行下方代码,就不会报错(我是在不经意之间发现,附上此时我内心os:被自己蠢哭了)

2、

import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv

以上是导入三个模块,切记一定要执行上述程序。

##读取照片,

照片存入电脑是以矩阵(数字)的形式存入照片,RGB分别是以red green blue颜色,各个有8位,每位整数值分别介于0-255之间,共有256位。

2.1以矩阵形式输出

img = cv.imread("piv\wenjianming.jpg")
print(img)

以上代码读写运行时,结果为数组,这也是读取图片的一种形式。

2.2以对话框的形式输出(img是命名的图片)

cv.imshow("bear",img)
cv.waitKey(0)
cv.destroyAllWindows()

输出时为弹出窗口,进行图片的输出。

imshow(winname, mat)    winname窗口名称,mat图像显示

上面代码可以表示为,一个窗口叫做bear显示了img图像。

2.3在程序下方输出照片

plt.imshow(img)
plt.show()

以上的程序运行后,直接在程序下面输出照片,但是输出照片跟真实照片的有区别(斯~,欣赏不了)。

2.3(1)

注:plt.imshow输出照片的格式是BGR(不确定解释的对不对,是按照字母顺序排列的)

我们需要将BGR改成RGB格式。代码如下:

img2 = cv.cvtColor(img,cv.COLOR_BGR2RGB)
plt.imshow(img2)
plt.show()

2.3(2)

2.4将定义一个show()的函数。主要功能为:当图片的数组维数为2时输出照片,当数组维数大于2时,将照片先转化为RGB格式然后再输出。

def show(img):if img.ndim == 2:plt.imshow(img,cmap="gray")eles:plt.imshow(cv.cvtColor(img,cv.COLOR_BGR2RGB))plt.show

注:这里有一个重要的知识点,就是plt.imshow函数,我在整理笔记时,忘记了后面 plt.imshow(img,cmap="gray")中,cmap="gray"是什么意思。

我先将我查阅的资料连接放这:

(98条消息) imshow中的 cmap=plt.cm.gray_r 是调整颜色,附颜色大全_云霄IT的博客-CSDN博客_plt.cm.gray

首先说cmap="gray" ,黑白的意思,

cmap=plt.cm.gray_r,      # cmap参数: 为调整显示颜色 gray为黑白色,加_r取反为白黑色

3 设置表格

x = np.arange(2,25)
y = np.random.randint(5,20,23)

x,是从2开始到24一共有23个数字。

y,随机产生23个数,范围在5-20之间。

生成的表格如下:

3.1生成复杂的图标

x = np.linspace(0,1,100)  #解释在0-1之间分成100份
y1 = np.power(x,0.5)       #x的0.5次方
y2 = x                              #x的一次方
y3 = np.power(x,1.5)       #x的1.5次方

plt.plot(x,y1,label="0.5")
plt.plot(x,y2,label="1")
plt.plot(x,y3,label="1.5")
plt.legend()

显示如下:

继续给横坐标和纵坐标标号:

代码如下:

plt.xlabel("r")
plt.ylabel("s")

plt.grid()  #加上网格

上面的起始点不为0和1,我们将其起始点设置为0到1。

plt.xlim([0,1])
plt.ylim([0,1])

一张稍微复杂的图片就完成了。

3.2生成柱状图,hist函数

a = np.random.randint(1,101,1000) #a是从1到101之间(不包括101)随机生成1000个数。

plt.hist(a,rwidth=0.5,color = "g")  # 统计一下各个数的占比,生成柱状图,宽度是50%,颜色是绿    plt.show()

第一章学习结束,完美的ending。今天略微有点小困。

2022年7月25日开始学习Jupyter Notebook相关推荐

  1. 【贪玩巴斯】带你一起攻克英语语法长难句—— 第五章——尾声的凯旋:状语和状语从句 ——2022年2月25日-3月17日

    [贪玩巴斯]带你一起攻克英语语法长难句-- 第五章--尾声的凯旋:状语和状语从句 --2022年2月25日 1.形容词和副词(包括短语) 1.1 形容词(短语) 2.2 副词(短语) 2.什么是状语? ...

  2. 我的创作纪念日 -- 2022年7月25日

    我的创作纪念日 - 2022年7月25日 一,机缘 1.1 初遇CSDN 1.2 注册CSDN 1.3 感谢CSDN 二,收获 2.1 正向反馈 2.2 领域同行 三,日常和憧憬 3.1 日常 3.2 ...

  3. 2022年12月25日(星期天):骑行沙堤村

    2022年12月25日(星期天):骑行沙堤村,早8:30到9:00,金太阳饭店(大观公园门囗,9:30点准时出发 [因迟到者,骑行速度快者,可自行追赶偶遇.] 偶遇地点: 金太阳饭店(大观公园门囗)家 ...

  4. 2022年6月25日(星期六):骑行小空山

    2022年6月25日(星期六):骑行小空山,早8:30到9:00,昆明氧气厂红绿灯下(普吉路和学府路交叉囗),9:30准时出发 [因迟到者,骑行速度快者,可自行追赶偶遇.]  偶遇地点:昆明氧气厂红绿 ...

  5. BSN季度版本2022年1月25日迭代更新预告

    根据BSN发展联盟规划,区块链服务网络(BSN)将于2022年1月25日进行下一次季度版本迭代更新,在对现有BSN功能.性能和服务体验进行了优化的同时,发布全新技术服务.届时,我们将按照BSN基础网络 ...

  6. 我将加入2022年4月25日的 黑马前端培训班,开始我的IT学习

    今年专科毕业的我,实在迷茫,手上有个万把块,本想着做点什么小生意,又因疫情影响放弃了这个想法.偶然间我刷视频认识了这个行业, 这个行业他有着持续学习的特性,没有天花板的那种.而且这个行业很酷,对小白来 ...

  7. 2022年7月25日-7月29日学习周报

    本周主要针对C语言基础部分进行练习,过程中遇到以下几点问题: 1.在编辑vim时,上下左右键变成输入ABCD; 2.个性化Ubuntu: 3.Ubuntu使用上的一些问题: 4.语法及编译中遇到的一些 ...

  8. 4月25日 python学习总结 互斥锁 IPC通信 和 生产者消费者模型

    一.守护进程 import random import time from multiprocessing import Processdef task():print('name: egon')ti ...

  9. pmp每日三题(2022年2月25日)

    25号加班太晚,没来得及更新,今天补上 今日三题答案-CAA 1.项目经理从制造商那里收到一个更新信息,说一个必要的设备修理可能会导致他们的可交付成果迟八周时间.项目经理应该怎么做? A. 确定关键路 ...

最新文章

  1. 三本+双非拿到小米offer,我的经验总结
  2. LeetCode Rotate Image(矩阵的旋转)
  3. 移动界面控件Essential Studio for Mobile MVC图表控件解析
  4. React手稿 - Context
  5. java element 获取属性_java 获取类,属性变量,方法,方法参数上注解的值等
  6. oracle with check option 的作用
  7. linux修改文件描述符,linux最大允许的文件描述符open files数nofile修改
  8. 【操作系统】页置换算法
  9. intellij jsp 中文乱码
  10. 766. 托普利茨矩阵
  11. python可以做什么工作-python都能干什么用
  12. 语音识别技术的研究难点以及未来发展方向
  13. win10有源信号分辨率怎么调_示波器高灵敏度小信号测量的注意事项
  14. JVM内存模型和结构
  15. java 换行分割_java – 如何通过换行分割字符串?
  16. 遇到的几个运放精密整流电路
  17. 恶意代码分析实战——反汇编
  18. 一个网工的十年奋斗史 - 移民篇
  19. 安卓手机玩游戏卡顿怎么解决_安卓手机卡顿怎么办?5招教你变流畅,继续用三五年,媲美iPhone...
  20. 深度学习基础技术分析2:神经网络(含代码分析)

热门文章

  1. php-yaf,Yaf框架安装指南
  2. 阿里国际站的评论可以删除吗?要如何运营?
  3. 企业微信SCRM系统部署_企业微信SCRM二次开发_企业微信SCRM系统独立版源码价格
  4. 微信小程序上传文件组件
  5. mui开发APP教程之mui.ajax请求后出现“加载中”
  6. 微信小程序 php开发全程,带你体验微信小程序完整开发过程
  7. 代码重构之TDD的思考
  8. VUE跨域、常用解决跨域的方法
  9. Git之Git连接GitHub上的远程仓库
  10. arcgis 快速制图插件_ArcGIS中定义图框样式