一、研究黑白图像

1.位图模式(黑白图像)

仅仅只有一位深度的图像 -》(0,1,1,1,……)此处0表示全黑 1表示全白

2.灰度图像 [0,255]

有8位深度的图像
(0,0,0,0,0,0,0,0,0)-》20 = 1 ->(纯黑色)
(1,1,1,1,1,1,1,1,1)-》2
8 = 256 ->(纯白色)

3.彩色图像(三个通道)

彩色三原色:三通道(RGB)
一共三个通道 ,每个通道8个深度。

#读取图片:
import cv2
import numpy as nppath = r"G:\1.png"
img = cv2.imread(path,0) # 此处0代表灰度图,1代表彩图
print(type(img)) # < calsss 'numpy ndarray' >
print(img.shape) # (2048, 1024, 3) (h,w,c)->(高,宽,通道数)存储类型 uint8无符号8位整型(0,1,0,1,0,1,0,1)a = img[:100,:200] #对图片截取行0-100 列0-200
b = img[:100,:400]  #对图片截取行0-100 列0-400c = np.hstack((a,b))   # 同行水平拼接
cv2.imshow("1",a)
cv2.imshow("2",b)
cv2.imshow("1+2",c)
cv2.waitKey()

结果如图(水平拼接):

结果如图(垂直拼接):

a = img[:300,:200] #对图片截取行0-300 列0-200
b = img[:100,:200]  #对图片截取行0-100 列0-200c = np.vstack((a,b))   # 同列垂直拼接
cv2.imshow("1",a)
cv2.imshow("2",b)
cv2.imshow("1+2",c)
cv2.waitKey()


二、计算图像全部像素值

import cv2
import numpy as np
import matplotlib.pyplot as pltpath = r".\1.jpg"
img = cv2.imread(path,1) # 此处0代表灰度图,1代表彩图
print(type(img)) # < calsss 'numpy ndarray' >
print(img.shape) # (2048, 1024, 3) (h,w,c)->(高,宽,通道数)存储类型 uint8无符号8位整型(0,1,0,1,0,1,0,1)b,g,r = cv2.split(img)        #分离颜色通道  b=img[:,:,0] g=img[:,:,1] r=img[:,:,2]
h,w = np.shape(b)             # 行列遍历
hest = np.zeros([256],dtype=np.int32) # 建立空白数组
for i in [b,g,r]:for row in range(h):for col in range(w):pv =i[row,col]hest[pv] +=1plt.plot(hest,color='r')
plt.show()

img1 = img.copy() #针对图像进行拷贝,避免其损坏 显示BGR每个通道色彩空间的图像
img1[:,:,0]=0
img1[:,:,1]=0
cv2.imshow("1",img1)
cv2.waitKey()

img1 = img.copy()
img1[:,:,0]=0
img1[:,:,2]=0
cv2.imshow("1",img1)
cv2.waitKey()

img1 = img.copy()
img1[:,:,0]=0
img1[:,:,1]=0
cv2.imshow("1",img1)
cv2.waitKey()


同时,分离通道时,

b,g,r = cv2.split(img) image = cv2.merge([b,g,r])
cv2.imshow("1",image)
cv2.waitKey()

img1 = img.copy()
b = img1[:,:,0]     #这一段和b,g,r = cv2.split(img) 分离通道效果 一样
g = img1[:,:,1]
r = img1[:,:,2]image = cv2.merge([b,g,r])
cv2.imshow("1",image)
cv2.waitKey()

出来的结果是显示原图

b,g,r = cv2.split(img)
image = cv2.merge([b,g,r])    #分离通道之后可以自由组合,然后变换颜色cv2.namedWindow("1",cv2.WINDOW_NORMAL)   #这个可以控制窗口显示的大小
cv2.imshow("1",image)cv2.waitKey()

分离通道之后B G R 可以相互组合变换颜色

import cv2
img = cv2.imread("F:\\test\\2.jpg")
mask = cv2.imread("F:\\test_mask\\2.jpg")mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)ret, thresh = cv2.threshold(mask, 127, 255, 0)
contours, im = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) #第一个参数是轮廓
cv2.drawContours(image=img, contours=contours, contourIdx=-1, color=(0, 255, 0), thickness=1)cv2.namedWindow('a',cv2.WINDOW_NORMAL)
cv2.imshow('a', img)
cv2.waitKey(0)



2021-09-23对图像深入研究相关推荐

  1. 2021.3.2-3.8 人工智能行业每周技术动态

    最近,发现很多公众号都在发Transformer的内容. 这是很好的事,说明行业内大家在不断的去尝试,不断的去突破. 之前的一个同事,最近也在一直和我聊,关于他对Transformer在股票分析的一些 ...

  2. 大作业论文之基于迁移学习的图像预测研究

    基于迁移学习的图像预测研究 摘  要:深度学习技术发展迅速,在图像处理领域取得了显著成果.[2]但是由于部分图像样本少,标注困难,使得深度学习的效果远未达到预期.迁移学习是机器学习中一种新的学习范式, ...

  3. 年末回顾:2021年 AI 领域十大研究趋势及必读论文

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编 | 小轶,Yimin_饭煲 在本文中,我们将梳理近百篇的最新深度学习论文,以总结出 ...

  4. 中国医科大学2021年9月《护理研究》作业考核试题

    中国医科大学2021年9月<护理研究>作业考核试题 试卷总分:100 得分:100 一.单选题 (共 20 道试题,共 20 分) 1.第二次世界大战后提出的关于人体医学研究行为准则的第一 ...

  5. leetcode刷题记录2:进度64, 2021.10.23

    文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...

  6. 计算机视觉技术在图像特征提取中的应用研究,基于图像特征提取的图像融合研究...

    基于图像特征提取的图像融合研究 [摘要]:视觉信息是人类从自然界中获取信息的最主要手段,图像信息是一种主观性很强的重要信息表达形式,也是最难由计算机认知.处理与实现的信息之一.而图像特征提取作为计算机 ...

  7. 《惢客创业日记》2021.09.15(周三)套路的最高境界

    今天,凉粉儿给我发了一段她想的关于惢客的宣传词:"你被套路过吗?想不再被套路吗?上惢客."总结一句话是"不被套路上惢客".我觉得能把惢客跟套路联系在一起,很贴切 ...

  8. 基于MATLAB的数字图像K-L变换,基于DCT变换的图像编码方法研究

    分类号 密级 UDC注l 学 位 论 文 基于DCT变换的图像编码方法研究 (题名和副题名) 朱剑英 (作者姓名 指导教师姓名 副教授 中诱学位级别硕士 沦_义提交日期2004.1 专.业名称 通信与 ...

  9. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  10. 电动力学每日一题 2021/10/23 载流板产生的电磁场

    电动力学每日一题 2021/10/23 载流板产生的电磁场 载流板的辐射 载流板的辐射 先验证电荷守恒: ∂ρ∂t=−∇⋅J=−∂∂zJz=0\frac{\partial \rho}{\partial ...

最新文章

  1. HTML复选框和提交按钮组合设置
  2. Java Socket 教程
  3. Python学习 Part6:错误和异常
  4. P4390 [BOI2007]Mokia 摩基亚 (CDQ解决三维偏序问题)
  5. 【wordpress基础教程一】:wordpress简介和安装
  6. CSS常见的四种垂直居中的方法
  7. 前端学习(1868)vue之电商管理系统电商系统之登录退出实现表单的预先认证
  8. php求链表中位数,先给伸手党的php链表遍历求和
  9. 一个php请求的执行过程,PHP程序执行的过程原理
  10. html 椭圆特效,HTML帖图常用到的特效《椭圆形》(国外英语资料).doc
  11. 修改安卓移植类型RPG游戏存档
  12. cmd下载的python包,pycharm中却无法使用(由于虚拟环境)
  13. petalinux2020.2离线编译配置
  14. 关于Java中double类型的变量保留指定位数的方法
  15. linux du查看目录大小,linux du命令查看文件目录大小
  16. eclipse为什么文件夹路径真实存在但运行显示路径不存在
  17. python you-get库
  18. 2.某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精设定⦁蛇怪类:属性包括:怪物名字,生命值,攻击力方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值
  19. IE地址栏发生改变,页面没有刷新而保留在原页面的解决方法
  20. kkFileView安装及使用——文件预览解决方案

热门文章

  1. HDFS小文件问题及解决方案
  2. ZedGraph在项目中的应用
  3. 通用分页存储过程(转自邹建)
  4. 获得所有已打开的IE浏览器窗口中的访问地址
  5. 黄峥辞职,拼多多何去何从?
  6. 嫌弃俄罗斯的火箭报价太黑!马斯克自己造火箭!SpaceX首次载人发射任务成功!太牛了!...
  7. 为了给你们讲清楚数据库中间件有哪些,我也是拼了!
  8. 分布式事务 GTS 的价值和原理浅析
  9. 华为某员工感慨:岗位太闲想离职,基本不加班!
  10. 认真推荐8个功能强大的实用网站,备受好评!