当前位置: 首页 > wzjs >正文

扁平风格企业网站源码推广百度百科

扁平风格企业网站源码,推广百度百科,做推广的网站那个好,wordpress本地音乐播放器目录 1. 什么是图像亮度调整? 2. 使用 cv2.addWeighted() 调整亮度 代码示例 参数解释 效果 3. 直接修改像素值调整亮度 代码示例 参数解释 效果 4. 使用滑动条动态调整亮度 代码示例 效果 5. 总结 在图像处理中,亮度调整是一个非常常见的操…

目录

1. 什么是图像亮度调整?

2. 使用 cv2.addWeighted() 调整亮度

代码示例

参数解释

效果

3. 直接修改像素值调整亮度

代码示例

参数解释

效果

4. 使用滑动条动态调整亮度

代码示例

效果

5. 总结


在图像处理中,亮度调整是一个非常常见的操作。无论是为了让图像看起来更清晰,还是为了适应不同的显示设备,调整图像的亮度都是非常有用的。今天,我们就来聊聊如何使用Python和OpenCV库来调整图像的亮度。

1. 什么是图像亮度调整?

图像亮度调整,顾名思义,就是改变图像中像素的明暗程度。简单来说,就是让图像整体看起来更亮或更暗。

  • 亮度增加:图像中的每个像素值都会增加一个固定值,让图像看起来更亮。

  • 亮度降低:图像中的每个像素值都会减少一个固定值,让图像看起来更暗。

2. 使用 cv2.addWeighted() 调整亮度

OpenCV 提供了一个非常方便的函数 cv2.addWeighted(),可以用来调整图像的亮度。这个函数的核心思想是通过加权平均的方式,对图像的像素值进行调整。

代码示例

import cv2
import numpy as np# 加载图像
img = cv2.imread('./1.jpg')# 设置亮度增益,例如设置为1.5倍亮度
alpha = 1.5# 提升图像亮度
brightened_img = cv2.addWeighted(img, alpha, np.zeros_like(img), 0, 0)# 显示和/或保存处理后的图像
cv2.imshow('Brightened Image', brightened_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

参数解释

  • src1:第一张输入图像,这里就是我们要调整亮度的图像。

  • alpha:第一个输入图像的权重,用来控制亮度的增益。

  • src2:第二张输入图像,这里我们用 np.zeros_like(img) 来表示一个全黑的图像。

  • beta:第二个输入图像的权重,这里设置为0,因为我们不需要用到第二张图像。

  • gamma:一个标量,这里设置为0,因为我们只通过 alpha 来调整亮度。

效果

通过调整 alpha 的值,我们可以很容易地改变图像的亮度。如果 alpha 大于1,图像会变亮;如果 alpha 小于1,图像会变暗。

3. 直接修改像素值调整亮度

除了使用 cv2.addWeighted(),我们还可以直接对图像的像素值进行操作,来调整亮度。

代码示例

import cv2
import numpy as np# 读取图片
image_np = cv2.imread("./1.jpg")# 亮度变换是对图像的每个通道的每个像素进行统一的加某个值
# np.clip是一个截取函数,用于截取数组中小于或者大于某值的部分,并使得被截取部分等于固定值。
# np.uint8是将值转换为0-255的整数
brightness_conversion_img = np.uint8(np.clip(image_np + 50, 0, 255))# 显示原始图像和调整亮度后的图像
cv2.imshow("Original Image", image_np)
cv2.imshow("Brightness Adjusted Image", brightness_conversion_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

参数解释

  • image_np + 50:这里我们将每个像素值增加50,让图像变亮。如果想让图像变暗,可以减去一个值。

  • np.clip(image_np + 50, 0, 255):这个函数的作用是防止像素值超出0到255的范围。如果像素值超过255,会被截断为255;如果小于0,会被截断为0。

  • np.uint8:将像素值转换为0到255的整数,确保图像可以正常显示。

效果

通过直接修改像素值,我们可以非常灵活地调整图像的亮度。这种方法的优点是简单直观,缺点是可能会导致像素值溢出,需要使用 np.clip 来进行限制。

4. 使用滑动条动态调整亮度

为了让调整亮度的过程更加直观,我们可以使用OpenCV的滑动条功能,动态调整亮度。

代码示例

import cv2
import numpy as npwindow_name = 'Trackbar Demo'
cv2.namedWindow(window_name)def on_trackbar_change(x):x = x / 255 * (255 - (-255)) - 255# 读取图片路径path = "./1.jpg"# 读取图片image_np = cv2.imread(path)# 亮度变换是对图像的每个通道的每个像素进行统一的加某个值brightness_conversion_img = np.uint8(np.clip(image_np + x, 0, 255))cv2.imshow("brightness_conversion_image", brightness_conversion_img)cv2.imshow("image_np", image_np)print(x)# 创建滑动条并设置参数
trackbar_name = 'Threshold'
max_value = 255
initial_value = 100
on_trackbar_change(initial_value)
cv2.createTrackbar(trackbar_name, window_name, initial_value, max_value, on_trackbar_change)
cv2.waitKey(0)

效果

通过滑动条,我们可以实时调整图像的亮度,观察不同亮度值下的图像效果。

5. 总结

通过这篇文章,我们学习了两种调整图像亮度的方法:

  1. 使用 cv2.addWeighted() 函数,通过加权平均的方式调整亮度。

  • 优点

    • 实现简单,代码简洁。

    • 可以通过调整权重参数灵活控制亮度变化。

    • 不容易出现像素值溢出的问题,因为权重和偏移量的计算方式较为安全。

  • 缺点

    • 需要额外的计算开销,因为涉及加权平均操作。

    • 对于复杂的亮度调整需求,灵活性稍差。

  1. 直接对像素值进行操作,通过加减一个固定值来调整亮度。

  • 优点

    • 直观且易于理解,直接对像素值进行加减操作。

    • 可以通过 np.clip 函数轻松限制像素值范围,避免溢出。

    • 在某些情况下可能更高效,尤其是当需要对像素值进行复杂操作时。

  • 缺点

    • 如果不使用 np.clip,很容易导致像素值溢出,从而出现图像失真。

    • 对于大规模图像处理,直接操作像素值可能会导致性能问题。

这两种方法各有优缺点,可以根据具体需求选择合适的方法。

http://www.dtcms.com/wzjs/141087.html

相关文章:

  • 网站如何做抖音推广连云港seo优化
  • 深圳网站seo优化山西网络推广
  • 网站开发人员结构软文写作经验是什么
  • 青团智慧团建登录入口深圳市企业网站seo营销工具
  • 阳明拍卖公司网站网络营销的核心是什么
  • 专做老酒的网站搜索引擎优化的意思
  • 福田做网站的绍兴seo排名外包
  • 品牌家装十大排名搜索引擎优化怎么做的
  • 沧州市高速公路建设管理局网站代发广告平台
  • 郑州建网站公司什么是搜索引擎优化?
  • 推广网站挣钱国内搜索引擎排名第一的是
  • 金蝶软件有限公司seo综合查询什么意思
  • asp.net 做网站大数据智能营销
  • 做网站的风险seo sem推广
  • 网站网站制作公司哪家好线上推广有哪些
  • 做网站没有固定电话销售渠道
  • 赣州做网站j视频网站推广
  • 北京外贸网站建设公司seo专家招聘
  • 工信部个人备案网站可信吗营销活动推广策划
  • 网站关键词分隔360外链
  • 嵊州网站制作seo关键词排名优化销售
  • 网站建设中图片怎么插入百度搜索引擎关键词
  • 深圳网站建设公司设计sem是什么
  • 三亚门户网站网站结构优化
  • 酒东莞网站建设技术支持站长工具外链查询
  • 多用户商城网站建设百度链接提交工具
  • 越城网站建设公司网店代运营骗局流程
  • 做欧洲电商看哪个网站不受国内限制的搜索引擎
  • 网站开发业务怎么做在线crm软件
  • 滕州住房和城乡建设局网站餐饮营销引流都有什么方法