【播资讯】2 opencv-python核心库模块core
core模块定义了opencv中的基础数据结构和基础运算,是整个库的核心模块。而mat数据结构是opencv中最重要的数据结构,是opencv中图像最常用的存储格式。
1 基本数据结构
(相关资料图)
opencv的基本数据结构有mat数据结构,point数据结构,rect数据结构,size数据结构。
1)在python中,mat类型的对象构造操作可以通过numpy来实现(创建图像矩阵)
如下代码构建全0矩阵m1,然后将所有值初始化为128,还可以用copy进行矩阵拷贝,也可以对图像数据的部分原始值进行修改。
import cv2import numpy as np #python中,mat类型的对象通过numpy来实现m1 = np.zeros([512,512],np.uint8) #创建全0二维矩阵m1[:] = 128 #初始化赋值m2 = m1.copy() #把m1图像拷贝到m2m2[128:384,128:384] = 0 #将行,列为128到384的区域像素值赋值为0cv2.imshow("m2",m2)cv2.imshow("m1",m1)cv2.waitKey(0)cv2.destroyAllWindows()
可以对图像矩阵进行裁剪和缩放,裁剪直接用python的切片来完成,缩放可以用opencv的 resize() 函数来操作。resize函数介绍如下:
cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
参数说明:
src:原图像;dst:改变大小的目标图像;dsize:输出图像的大小。
fx:width方向的缩放比例;fy:height方向的缩放比例;
interpolation:指定插值的方式,图像resize之后,像素要重新计算,靠这个参数来指定重新计算像素的方式,有以下几种: INTER_NEAREST - 最邻近插值 INTER_LINEAR - 双线性插值,如果最后一个参数你不指定,默认使用这种方法 INTER_AREA -区域插值 INTER_CUBIC - 4x4像素邻域内的双立方插值 INTER_LANCZOS4 - 8x8像素邻域内的Lanczos插值
有两点需要注意:1dsize和fx/fy不能同时为0。指定dsize的值,让fx和fy直接省略或置0 或者dsize=None或置 (0,0),指定fx和fy的值,(dsize不可省略,会报错)。2图像的size是(h,w),而resize的操作是先w,再h。
import cv2 #图像裁剪和缩放import numpy as npimg = cv2.imread("cat.jpg")cv2.imshow("cat",img)rows = img.shape[0] #图像的行(高) [h,w,c]cols = img.shape[1] #图像的列(宽)img2 = img.copy() #把img1图像拷贝到img2img2 = cv2.resize(img2,(int(cols/2),int(rows/2))) #图像尺寸减小为原来的一半,不是裁剪 [w,h]cv2.imshow("img2",img2)img3 = img[0:int(rows/2),0:int(cols/2)] #图像裁剪为原来的1/4,用切片来裁剪,cropped_image = img[80:280, 150:330] 切片img[高,宽]cv2.imshow("img3",img3)cv2.waitKey(0)cv2.destroyAllWindows()
2)在opencv中,点的定义由point类实现。python语言中,point类型可以由tuple元组表示,然后利用numpy进行点乘和叉乘计算。
import numpy as np #tuple元组点乘叉乘(向量内积/外积)point1 = (10,20)point2 = (2,4)print(type(point1)) #tuple(元组,有序且不可更改的集合)类型,# 元组与列表相似,不同之处在于元组的元素不能修改,而列表的元素可以修改。元组使用小括号(),列表使用中括号[]。res1 = np.dot(point1,point2) #点乘print("res1",res1)point3 = (1,2,3)point4 = (4,5,6)res2 = np.cross(point3,point4) #叉乘,输出一个向量,方向垂直于输入两向量形成的平面print("res2",res2)
3)opencv中定义了矩形的表示类rect,模板类rect定义了顶点坐标,宽高,面积等信息的获取操作,以及矩形是否包含点的判断操作。在python中的rect也是通过tuple类型的数据表示,即左上角坐标点(x,y)和矩形宽高4个值表示的rect为(x,y,w,h)的形式,在需要传入rect数据类型的地方,可以按照tuple类型的数据传入。
4)opencv的很多函数中都需要传入size类型的参数,比如mat类的后置函数为mat(Size size,int type),需要通过size类型对象传入构造矩阵的尺寸。size类型对象包含两个成员变量width和height。python中的size对象也是通过tuple类型的数据表示,即 (w,h) 的形式传入宽高数据的,在需要传入size数据类型的地方,可以按照tuple类型的数据传入。
2 矩阵运算
core模块中提供了图像矩阵的基本运算,opencv对这些基本运算都做了封装,比如四则运算,位运算,比较运算等。
标签:
- 黄山提升政府采购透明度 助力实体经济持续健康稳定发展
- 1-2月黄山新签“双招双引”项目103个 总投资额139.7亿元
- 池州海关共签发RCEP原产地证书22份 签证金额92.7万美元
- 宿州泗县深入推进文旅融合发展 擦亮城市品牌
- 河北工业生产平稳开局 固定资产投资较快增长
- 昆明西山区深入实施人才强区战略 建立健全招商招才引资并轨新模式
- 2月唐山新建商品住宅销售价格与上月持平 同比下降0.8%
- 去年河北电子信息产业实现主营业务收入2367.7亿元 同比增长22.4%
- 绥化望奎以工业化思维为引领 推动肉类加工制造产业腾飞
- 绥化市监局推出多项举措 大力促进有机产品产业发展
- 半路出家无心插柳 杭州西湖区“菌菇宝宝”变废为宝
- 温州鹿城区藤桥主打藤桥熏鸡 近两年销售额年均增长20%以上
- 1-2月安徽限额以上消费品零售额1030.4亿元 同比增长10.4%
- 2021年合肥市茶园面积13.6万亩 产值176350万元
- 淡季不忘引流 京郊民宿市场将很快迎来回暖
- 郴州安仁文旅项目集中开工 总投资1000万元
- 江苏服务业继续保持发展强劲势头 为高质量发展提供有力支撑
- 黄山休宁经开区摸排基础设施项目17个 计划总投资29709万元
- 前两个月宣城出口31亿元 增长34.4%
- 滁州凤阳2021年共接待游客225万人次 旅游综合收入20.25亿元
- 1-2月宿州市民间投资同比增长19.2% 居全省第3位
- 宿州严格审核把关 抢抓发行地方政府专项债券政策机遇
- 1-2月亳州市进出口总值5.5亿元 同比下降17.4%
- 合肥:弘扬茶文化 初步形成一条生态发展之路
- 合肥:建成“数字中国”领先城市 推进城市数字化转型
- 甘肃再续“艾黎情”:探职业教育德技并修
- 【城市守望者】致敬抗“疫”一线的“拆弹专家”
- 浙江绍兴越城区核酸检测结果公布 除1例阳性外其余均为阴性
- 内地首例奥密克戎变异株感染者身体状况如何?来自哪里?专家解读→
- 对变异病毒已有准备!关于中国新冠药物,钟南山发声→
- 江苏睢宁小网格大担当 织就乡村振兴“幸福网”
- 改造老旧小区 共享幸福生活
- 天津静海:群众在哪里,文明实践就延伸到哪里
- 齐齐哈尔:初步判断疫情感染来源为接触新冠病毒污染环境和物品
- 重庆大竹林派出所副所长因对群众态度简单粗暴被停职
- 黑龙江讷河病例感染源初步判断为新冠病毒污染的环境和物品
- 致敬2021
- 浙江瑞安民警捐献造血干细胞:14年前的心愿终将如愿
- “考研房”涨价离谱 律师:借机宰客有违市场伦理
- 广州白云机场:14天内有东莞旅居史的旅客须凭48小时核酸阴性证明乘机
- 浙江绍兴本轮疫情已报告确诊病例145例 无症状感染者1例
- 福建龙岩一男子和前妻斗气 扛着126斤硬币到法院“还钱”
- 重庆这座立交酷似“悟空” 走红 设计师揭秘(图)
- 青海警方破获特大电诈案 涉案流水高达1.7亿
- 云南新增境外输入确诊病例3例
- 黑龙江讷河市5名核酸阳性人员流调溯源:接触被新冠病毒污染的环境和物品
- 男子爱上女主播 假扮女主播闺蜜教其他男粉丝刷单
- 广西三市警方联手破获毒品案 全链条摧毁跨境贩毒团伙
- 广东东莞发现2例无症状感染者,部分镇今起全员筛查
- 从百二秦关到闻道凯旋 一个殉职医生最后的朋友圈
- 浙江发补充说明:三地铁路出行政策随风险等级同步调整
- 内蒙古新增本土确诊病例5例 均在呼伦贝尔满洲里市
- 陕西新增本土确诊病例1例 系隔离酒店工作人员
- 31省份新增新冠肺炎确诊病例76例 其中本土51例
- 浙江新增新冠肺炎确诊病例45例 其中本土44例
- 技能就是财富 技工也是人才
- 黑龙江新增本土确诊病例1例、本土无症状感染者4例
- 冷空气“调休”!我国大部陆续迎回暖 中东部雨雪稀少
- 华北黄淮等地大气扩散条件转差 冷空气将影响中东部
- 别误读了野猪或将不再是“三有”动物
- 您的ETC已到期?当心这个诈骗短信!
- 对回家的“宝贝”少一些关注,也是一种帮助
- 升温!北京今日阳光在线 最高气温将升至8℃
- 那年今日 | 一张漫画涨知识之12月14日
- 40岁男子一觉醒来突然听不见了 原因是……
- 本年度星空压轴大赏上演 双子座流星雨观赏地图来了
- 广东东莞大朗镇报告2例新冠肺炎无症状感染者
- 商丘4885份被盗出生证去哪了?10年“悬案”引关注
- 浙江海宁警方通报国家公祭日女子穿和服逛街
- 厨艺不精调料凑?懒人调料:年轻人的“下厨神器”
- “您的ETC已到期?”警方提醒:当心这个诈骗短信
- “网红”局长的热度 自述:走红后我就没有周末了
- 寻回被拐10年的儿子后又送走 儿子:害我没家了
- 小城里的三张面孔和警号301137
- 倡导“就地过年”,需因地制宜科学防疫
- 别用“入乡随俗”为星巴克找借口
- 北京地铁14号线年底全线贯通运营
- 天津市从入境人员中检出奥密克戎变异株
- “外滩活地图”黄俊:一个不想出圈的段子手交警
- 寻找一双儿女的25年
- 无锡市场监管部门责成星巴克涉事门店停业整改
- 海岛警事:为了一座岛和2900平方公里的海
- 北京民警宏福苑抗疫26天:“今夜我和雪花一起出发”
- 星巴克的“金标准”缘何败给了“潜规则”
- 患者被低价药“惊呆”的场面应该更多些
- 影视剧“超前点评”不止是“低级错误”
- “南昌鹦鹉案”下发不起诉决定书 网店上架费氏牡丹鹦鹉被拒
- 河南商丘4885份出生医学证明被盗始末追踪
- 绍兴市病例62-109活动轨迹公布
- 12月7日以来,杭州累计报告新冠肺炎确诊病例19例
- 浙江绍兴新增确诊病例37例 上虞区占36例
- 河南高院对张成功案作出死刑判决
- 四川一滑雪场停电游客被困索道 官方回应
- 浙江绍兴越城区新增1例新冠肺炎确诊病例 当地对防控区域划分进行调整
- 中国内地首次检出新冠病毒奥密克戎变异株
- 知网除了涉及著作权纠纷,是否涉嫌违反《反垄断法》?
- 浙江绍兴越城区新增1例新冠肺炎确诊病例
- 四川眉山千箱柑橘送往呼和浩特市抗疫一线
- 两名青年男女探险三亚落笔洞遗址被困沼泽 消防成功救援
- 中国地理学大会在福州发布《中国地理学界碳中和科技行动福州宣言》
广告
广告
- 【播资讯】2 opencv-python核心库模块core
- 环球聚焦:浙江千项万亿重大项目青文高速开工 加快打造温州西部交通枢纽
- 红塔证券:昆明产投已累计减持公司0.50%股份_环球焦点
- 征信不好急用钱哪里可以借钱?这10个平台刚好适合征信不好的人借钱急用_每日短讯
- 浙江:推进互联网医疗服务普惠共享
- 奶爸首选!新款奥德赛新增幻夜套件!看起来更加帅气高级了
- 当前消息!中远海特:上半年净利润同比增长91.66%
- 泰源环保细分领域市场占有率逾80% 像搭乐高一样建污水处理厂
- 最浪漫的话,句句温暖,看懂的都是有故事的人 每日快讯
- 天天通讯!阿斯巴甜引关注,其实无糖饮料里多有“代糖”身影
- 世界热门:贵州黄果树瀑布迎来2023年入汛最大水量
- 天天快资讯丨江苏大阳山国家森林公园植物园遇见国潮光影
- 世界快资讯丨新车 | 售109.98万元,奥迪e-tron GT首发版开启预售,续航487公里
- 港股三大股指跌幅均扩大至超1%-当前热点
- 满江红 艺术歌曲_满江红 刘可演唱歌曲相关内容简介介绍|天天看点
- 2023年新疆一级建造师报名缴费截止时间为7月14日23:00|世界要闻
- 7月5日生意社磷酸一铵基准价为2550.00元/吨
- 环球视讯!聚焦高质量发展|湖北打出“组合拳”推进企业降成本
- 全球快资讯丨红油菜苔种植时间和方法(红油菜)
- 苹果12是真的吗(5200买苹果12值吗) 世界今亮点