2021-09-23对图像深入研究
一、研究黑白图像
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)-》28 = 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对图像深入研究相关推荐
- 2021.3.2-3.8 人工智能行业每周技术动态
最近,发现很多公众号都在发Transformer的内容. 这是很好的事,说明行业内大家在不断的去尝试,不断的去突破. 之前的一个同事,最近也在一直和我聊,关于他对Transformer在股票分析的一些 ...
- 大作业论文之基于迁移学习的图像预测研究
基于迁移学习的图像预测研究 摘 要:深度学习技术发展迅速,在图像处理领域取得了显著成果.[2]但是由于部分图像样本少,标注困难,使得深度学习的效果远未达到预期.迁移学习是机器学习中一种新的学习范式, ...
- 年末回顾:2021年 AI 领域十大研究趋势及必读论文
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 编 | 小轶,Yimin_饭煲 在本文中,我们将梳理近百篇的最新深度学习论文,以总结出 ...
- 中国医科大学2021年9月《护理研究》作业考核试题
中国医科大学2021年9月<护理研究>作业考核试题 试卷总分:100 得分:100 一.单选题 (共 20 道试题,共 20 分) 1.第二次世界大战后提出的关于人体医学研究行为准则的第一 ...
- leetcode刷题记录2:进度64, 2021.10.23
文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...
- 计算机视觉技术在图像特征提取中的应用研究,基于图像特征提取的图像融合研究...
基于图像特征提取的图像融合研究 [摘要]:视觉信息是人类从自然界中获取信息的最主要手段,图像信息是一种主观性很强的重要信息表达形式,也是最难由计算机认知.处理与实现的信息之一.而图像特征提取作为计算机 ...
- 《惢客创业日记》2021.09.15(周三)套路的最高境界
今天,凉粉儿给我发了一段她想的关于惢客的宣传词:"你被套路过吗?想不再被套路吗?上惢客."总结一句话是"不被套路上惢客".我觉得能把惢客跟套路联系在一起,很贴切 ...
- 基于MATLAB的数字图像K-L变换,基于DCT变换的图像编码方法研究
分类号 密级 UDC注l 学 位 论 文 基于DCT变换的图像编码方法研究 (题名和副题名) 朱剑英 (作者姓名 指导教师姓名 副教授 中诱学位级别硕士 沦_义提交日期2004.1 专.业名称 通信与 ...
- 橘子CPS联盟操作手册2021.09
橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...
- 电动力学每日一题 2021/10/23 载流板产生的电磁场
电动力学每日一题 2021/10/23 载流板产生的电磁场 载流板的辐射 载流板的辐射 先验证电荷守恒: ∂ρ∂t=−∇⋅J=−∂∂zJz=0\frac{\partial \rho}{\partial ...
最新文章
- HTML复选框和提交按钮组合设置
- Java Socket 教程
- Python学习 Part6:错误和异常
- P4390 [BOI2007]Mokia 摩基亚 (CDQ解决三维偏序问题)
- 【wordpress基础教程一】:wordpress简介和安装
- CSS常见的四种垂直居中的方法
- 前端学习(1868)vue之电商管理系统电商系统之登录退出实现表单的预先认证
- php求链表中位数,先给伸手党的php链表遍历求和
- 一个php请求的执行过程,PHP程序执行的过程原理
- html 椭圆特效,HTML帖图常用到的特效《椭圆形》(国外英语资料).doc
- 修改安卓移植类型RPG游戏存档
- cmd下载的python包,pycharm中却无法使用(由于虚拟环境)
- petalinux2020.2离线编译配置
- 关于Java中double类型的变量保留指定位数的方法
- linux du查看目录大小,linux du命令查看文件目录大小
- eclipse为什么文件夹路径真实存在但运行显示路径不存在
- python you-get库
- 2.某公司要开发新游戏,请用面向对象的思想,设计游戏中的蛇怪和蜈蚣精设定⦁蛇怪类:属性包括:怪物名字,生命值,攻击力方法包括:攻击,移动(曲线移动),补血(当生命值<10时,可以补加20生命值
- IE地址栏发生改变,页面没有刷新而保留在原页面的解决方法
- kkFileView安装及使用——文件预览解决方案