为什么总是放屁很频繁| 石见念什么| 种牙和假牙有什么区别| 乳酸偏高是什么意思| 打喷嚏头疼是什么原因| 小儿多动症挂什么科| 五月底是什么星座| 什么地发现| 脸上有痣去医院挂什么科| 手麻吃什么药效果好| 肺部肿瘤吃什么好| 薄荷与什么相克| 小腿肌肉疼是什么原因| 平均血小板体积偏高是什么原因| 流脑是什么病| 色痨是什么病| 加号是什么意思| 麦芽糖是什么糖| 4个火读什么| 便秘喝什么茶最快排便| 信徒什么意思| 做梦买房子是什么预兆| 手足口病咳嗽吃什么药| 1.25什么星座| 为什么要来月经| 空挡是什么意思| 处女男和什么星座最配| 便秘吃什么润肠通便| 什么牌子充电宝好| 脑子瓦特了什么意思| 肢体拘挛是什么意思| 体重除以身高的平方是什么指数| 乙型肝炎病毒表面抗体阳性是什么意思| Mary英文名什么意思| 孟力念什么| 向日葵是什么意思| 马什么梅| 梅花象征着什么| 天下无不是的父母是什么意思| 吹空调嗓子疼吃什么药| 荷尔蒙是什么意思| 拍胸片挂什么科| 女方起诉离婚需要什么证件| 咳嗽完想吐是什么原因| 沙漠有什么动物| 甜字五行属什么| 胃窦炎吃什么药最好| 突然戒烟对身体有什么影响| 鱼生是什么鱼| 眼皮跳什么预兆| 什么的琴声| 发烧骨头疼是什么原因| 阴历7月22什么日子| 三羊开泰什么意思| 手上有痣代表什么| 磷高吃什么药| 身高别体重是什么意思| 梦到别人怀孕是什么意思| 用什么方法治牙疼| 趣味相投是什么意思| 汤沐邑是什么意思| 灰指甲是什么症状| 黄加红是什么颜色| 血红蛋白低是什么原因| 初心不改是什么意思| 无什么无什么的成语| 麝香保心丸治什么病| 什么的口水| 王一博是什么星座| 45岁属什么的生肖| a1微球蛋白偏高说明什么意思| 两鬓斑白是什么意思| cd代表什么意思| 如愿以偿是什么意思| 温水煮青蛙什么意思| 4级残疾证有什么优惠政策| 心电轴重度左偏是什么意思| 彩超能检查什么| 早上9点是什么时辰| 舌苔发白是什么病的前兆| 没有排卵是什么原因| 龟头流脓小便刺痛吃什么药| 为什么会打鼾| 仰卧起坐有什么好处| 完全性右束支阻滞是什么意思| 不还信用卡有什么后果| 男生剪什么发型好看| 脑门出汗多是什么原因| 春梦是什么| 红玫瑰的花语是什么| 卒中是什么意思| 太阳像什么| 涉嫌是什么意思| 来源朋友验证消息是什么意思| y谷氨酰基转移酶高是什么原因| 酚妥拉明是什么药| 粗粮是什么| 小燕子吃什么食物| 12点到1点是什么时辰| 什么生| 下面痒吃什么消炎药| 电解质是什么检查项目| 为什么会得甲减| 幽门螺旋杆菌感染是什么意思| 烟台有什么特产| 蝙蝠飞到家里是什么预兆| 7.17是什么日子| 宝宝低烧是什么原因引起的| 石斤读什么| 黑皮肤适合穿什么颜色的衣服| 葛优躺是什么意思| 吊孝是什么意思| 记性差是什么原因| 什么是激素类药物| miss什么意思| 96年属鼠的是什么命| 帕金森是什么引起的| 蜂蜜变质是什么样子| 梦到头发长长了是什么意思| 表里不一是什么意思| 生理期量少是什么原因| 筷子在古代叫什么| 哔哩哔哩是干什么的| vol是什么意思| 京东plus是什么意思| 复方对乙酰氨基酚片是什么药| 如意丹的作用是什么| 猪肚搭配什么煲汤最好| 虫合读什么| 碳水化合物是什么东西| 甲申日是什么意思| 6月10日什么星座| 打酱油是什么意思| 人心惶惶是什么意思| 小孩流鼻血吃什么好| 拔智齿后吃什么消炎药| 什么是耳石| 5月16日是什么星座| 耳顺是什么意思| 维生素b12有什么作用| 什么是备皮| 信仰是什么意思| ca19-9偏高是什么意思| 总胆固醇偏高吃什么药| 副处是什么级别| 人死后为什么要守夜| 天牛是什么| 甲状腺应该多吃什么| 脊柱疼是什么原因| 心跳过快有什么危害| 女性解脲支原体阳性吃什么药| 舌苔白腻是什么原因| 6月18号什么星座| 阴道有灼热感是什么原因| 发票抬头写什么| 花生有什么营养| 老放屁是什么情况| 挂面是什么面| 感冒鼻子不通气吃什么药| c14阳性是什么意思| 腹泻吃什么药| 手心脚心发热吃什么药| 怀孕吃什么宝宝会白| 被褥是什么| 梦见老公出轨什么意思| cd是什么牌子| 芝士和奶酪有什么区别| 七月八号什么星座| 侧重点是什么意思| 为什么空调外机会滴水| 孕吐一般从什么时候开始| 跑步肚子疼是什么原因| 血脂高吃什么食物| 眼睛雾化的作用是什么| 施华洛世奇水晶是什么材质| 白色念珠菌是什么病| 总放屁是什么原因| 长结节是什么原因造成的| 肺炎是什么| 下缘达宫颈内口是什么意思| 长红痣是什么原因| 乌龟为什么不吃东西| 舌根痛吃什么药好得快| 寸头适合什么脸型| 感冒低烧吃什么药| 为什么痛风就痛一只脚| 颈动脉斑块吃什么药效果最好| 小知了叫什么| 蜗牛是什么生肖| 春天有什么植物| 阑尾炎是什么症状| 不可翻转干燥是什么意思| 立冬北方吃什么| 舌头什么颜色正常| 什么风化雨| 夏天适合吃什么菜| 胃寒胃凉吃什么药| 做病理意味着什么| 胃镜是什么| 视黄醇结合蛋白是什么| 女人吃山竹有什么好处| 韭菜有什么功效| 精子吃了有什么好处| 乙肝1245阳性什么意思| 月经量极少几乎没有是什么原因| 血糖在化验单上叫什么| 刘邦和项羽是什么关系| 梦见旋风是什么预兆| 男女之间的吸引靠什么| 碳水化合物指的是什么食物| 什么东西最养胃| 大水牛是什么意思| 血压低什么原因| 二级b超是检查什么| 吃饱了胃胀是什么原因| 送老师什么花好| 贻笑大方什么意思| 为什么一直拉肚子| 电脑什么牌子好| 梦见买狗是什么意思| 冰箱什么牌子的好| 5月25日是什么星座| 梦见自己哭了是什么意思| 忌诸事不宜什么意思| 一票制什么意思| 喝什么茶养肝护肝| 吃生姜对身体有什么好处和坏处| 苦瓜什么人不能吃| 睡着后抽搐抖动是什么| 油脂旺盛是什么原因| 516是什么星座| 脚痛什么原因引起的| 猕猴桃是什么季节的水果| 已所不欲勿施于人是什么意思| 孤辰寡宿是什么意思| 鼠疫是由什么引起的| 刘德华属什么生肖| 肝损伤是怎么回事什么是肝损伤| ar技术是什么意思| 排骨和什么菜搭配最好| 生产周期是什么意思| sunny是什么意思| 为什么16岁不能吃维生素B| 补铁吃什么药| 身份证有x代表什么| 收孕妇尿是干什么用的| 眼睛皮痒是什么原因| 爆菊是什么意思| 待字闺中是什么意思| 梅子和杏有什么区别| 胃出血是什么症状| 炒菜用什么油最健康| 女人吃榴莲有什么好处| 老丈人是什么意思| 检查肺挂什么科| 新生儿湿肺是什么意思| 忽然流鼻血是什么原因引起的| 空五行属什么| 成都有什么特色美食| 双相情感障碍是什么| 三焦是什么器官| 三体是什么| 男孩适合学什么专业| 鼻炎看什么科| 百度

『摄影教程』超简单 教你在家拍出专业级的产品照片

本文阐述了OpenCV中灰度处理、cvtColor函数及二值化(全局阈值和自适应阈值)的实践应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、灰度处理

1.1 cvtColor函数

函数原型:

cv2.cvtColor(src, code[, dst[, dstCn]]) -> dst

功能:转换图像颜色空间。
参数

  • src: 输入图像。
  • code: 颜色空间转换代码。可以取常量cv2.COLOR_BGR2GRAY或cv2.COLOR_RGB2GRAY。
  • dst: 输出图像。
  • dstCn: 输出图像的通道数,如果设置为0,则跟随转换代码自动设置。

内置函数示例代码:

import cv2
img = cv2.imread("color.jpg")
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.imshow("Gray", img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

灰度处理的原理是将彩色图像转换成灰度图像,通常使用的方法是将彩色图像的RGB三个通道的值加权平均,得到一个灰度值,再用这个灰度值代替RGB三个通道的值,从而得到灰度图像。常用的加权平均公式是:
g r a y = 0.299 × R + 0.587 × G + 0.114 × B gray = 0.299 \times R + 0.587 \times G + 0.114 \times B gray=0.299×R+0.587×G+0.114×B
其中, R 、 G 、 B R、G、B RGB分别是彩色图像的红、绿、蓝通道的值, 0.299 、 0.587 、 0.114 0.299、0.587、0.114 0.2990.5870.114是加权系数,这些系数是心理物理学中根据人眼对不同颜色敏感度的实验结果得出的。这个公式也称为亮度加权法,能够比较好地保留彩色图像的明暗对比度。

通过原理实现灰度处理代码:

import cv2
img = cv2.imread('lean.jpg')
img = cv2.resize(img, (240, 240), interpolation=cv2.INTER_CUBIC)
height, width = img.shape[:2]
gray = np.zeros((height, width, 1), dtype="uint8")
for i in range(height):
    for j in range(width):
        gray[i][j] = img[i][j][0] * 0.114 + img[i][j][1] * 0.587 + img[i][j][2] * 0.299  # 加权值法
        # gray[i][j] = (img[i][j][0] +img[i][j][1]+img[i][j][2])/3#平均值法
        # gray[i][j] = max(img[i][j][0],img[i][j][1],img[i][j][2]) #最大值法
        
cv2.imshow("Gray", gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码逐个像素点计算灰度值,然后用灰度值代替RGB三个通道的值,得到灰度图像并显示出来。值得注意的是,这种方法虽然简单易懂,但计算每个像素点的灰度值,效率较低,不适用于处理较大的图像。在实际中,我们可以使用OpenCV提供的函数来实现灰度处理,以提高程序的执行效率。

注意:灰度图像在Python中数据类型是numpy的uint8类型,即8位无符号整型。

二、图像二值化处理

图像二值化处理是将灰度图像上的像素点转化为黑白两种颜色的处理方法。其原理是将灰度图像的像素值按一定的阈值进行分割,大于等于阈值的像素值设为一个值(通常是255),小于阈值的像素值设为另一个值(通常是0)。这样得到的图像就只有黑白两种颜色,便于进行一些形态学处理和特征提取。

图像二值化有两种方法:全局阈值和自适应阈值全局阈值是指将整个图像的像素值都按照同一个阈值进行分割,而自适应阈值则是将图像分割成若干个小块,然后对每个小块单独计算阈值,从而得到更准确的分割结果。下面分别介绍这两种方法的实现方式。

2.1 全局阈值

在OpenCV中,使用cv2.threshold()函数可以实现全局阈值二值化。函数原型如下:

retval, dst = cv2.threshold(src, thresh, maxval, type)

参数说明:

  • src为输入图像,必须为灰度图。
  • dst为输出图像,尺寸和类型与原图像相同。
  • thresh为设定的阈值。
  • maxval为最大值,当像素值大于阈值时,赋值为maxval。
  • type为阈值处理的类型,包括以下几种类型:
    • cv2.THRESH_BINARY:二值化,当像素值大于阈值时,赋值为maxval,否则赋值为0。
    • cv2.THRESH_BINARY_INV:反二值化,当像素值大于阈值时,赋值为0,否则赋值为maxval。
    • cv2.THRESH_TRUNC:截断,当像素值大于阈值时,赋值为阈值,否则不变。
    • cv2.THRESH_TOZERO:阈值以下归零,当像素值小于阈值时,置为0,否则不变。
    • cv2.THRESH_TOZERO_INV:阈值以上归零,当像素值大于阈值时,置为0,否则不变。

示例代码如下:

import cv2

# 加载灰度图
img_gray = cv2.imread('lena_gray.jpg', 0)

# 全局阈值二值化
retval, img_binary = cv2.threshold(img_gray, 128, 255, cv2.THRESH_BINARY)

# 显示图像
cv2.imshow('original', img_gray)
cv2.imshow('binary', img_binary)
cv2.waitKey()
cv2.destroyAllWindows()

其中,使用cv2.imread()加载灰度图时,第二个参数必须设置为0,表示加载灰度图。

2.2 自适应阈值

在OpenCV中,使用cv2.adaptiveThreshold()函数可以实现自适应阈值二值化。函数原型和前面的cv2.threshold()函数类似,但多了两个参数:

dst = cv2.adaptiveThreshold(src, maxval, adaptiveMethod, thresholdType, blockSize, C)

参数说明:

  • src为输入图像,必须为灰度图。
  • maxValue为最大值,当像素值大于阈值时,赋值为maxValue。
  • adaptiveMethod为自适应阈值算法类型,包括以下两种类型:
    • cv2.ADAPTIVE_THRESH_MEAN_C:计算每个小区域的平均灰度值作为阈值。
    • cv2.ADAPTIVE_THRESH_GAUSSIAN_C:计算每个小区域的高斯加权平均灰度值作为阈值。
  • thresholdType为阈值处理的类型,同全局阈值二值化函数。
  • blockSize为块大小,要求为奇数,代表自适应阈值计算时使用的小区域大小。
  • C为常数,阈值减小的常数。
    实例代码如下:
import cv2

# 加载灰度图
img_gray = cv2.imread('lena_gray.jpg', 0)

# 自适应阈值二值化
img_binary = cv2.adaptiveThreshold(
    img_gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 127, 1)

# 显示图像
cv2.imshow('original', img_gray)
cv2.imshow('binary', img_binary)
cv2.waitKey()
cv2.destroyAllWindows()

其中,使用cv2.ADAPTIVE_THRESH_MEAN_C作为自适应阈值算法,计算每个小块的平均值;使用cv2.THRESH_BINARY作为阈值处理的类型。阈值大小由blockSizeC两个参数共同决定,可以通过调整这两个参数来得到更适合的分割效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心无旁骛~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
孤独终老什么意思 一什么陆地 牛瓦沟是什么部位 李叔同为什么出家 申字五行属什么
欺世盗名是什么意思 心脏彩超fs是什么意思 年轻人手抖是什么原因 三顾茅庐的顾是什么意思 得乙肝的人有什么症状
烤肉筋的肉是什么肉 有什么好吃的外卖 红字五行属什么 龟头炎用什么药膏好 不字五行属什么
蚩是什么意思 口腔溃疡什么样 果葡糖浆是什么 4月1号是什么星座 鱼香肉丝为什么叫鱼香肉丝
治疗风湿有什么好方法0735v.com 下半年有什么节日1949doufunao.com 助力车是什么车hcv9jop3ns4r.cn 榧子是什么bjhyzcsm.com 西洋参不适合什么人吃hcv9jop2ns2r.cn
什么叫匝道hcv9jop6ns1r.cn 4月3号是什么星座gangsutong.com 画蛇添足是什么意思hcv8jop2ns8r.cn 按摩脚底有什么好处hcv7jop6ns0r.cn 睡觉时间长是什么原因hcv9jop3ns8r.cn
脑震荡挂什么科hcv9jop0ns6r.cn 月经提前十几天是什么原因hcv9jop0ns6r.cn t1w1高信号代表什么hcv9jop5ns4r.cn 女性头部出汗吃什么药hcv8jop4ns8r.cn 吃什么水果对肠胃好bjcbxg.com
梦见小白兔是什么意思hcv8jop7ns3r.cn 阴囊瘙痒用什么药膏hcv8jop6ns6r.cn 积液是什么原因造成的怎么治疗hcv8jop2ns4r.cn 肾结石可以吃什么hcv8jop6ns2r.cn 书中自有颜如玉什么意思hcv8jop1ns7r.cn
百度