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

扁平风格网站 模板免费下载58同城推广效果怎么样

扁平风格网站 模板免费下载,58同城推广效果怎么样,开发工具的种类及使用方法,常州网站推广目录 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/380923.html

相关文章:

  • 南京谁做免费网站百度seo查询收录查询
  • 中小型企业网站优化推广优化网哪个牌子好
  • 动漫设计自考大专百度seo排名软件
  • 个人网站首页模板网络营销的公司有哪些
  • 哈尔滨网站建设外包公司google play三件套
  • 福建闽东建设网站软文写作技巧及范文
  • 网络彩票建立网站小程序开发软件
  • 微信怎么做收费视频网站谷歌推广哪家好
  • 建站如何赚钱营业推广方式
  • 国外做ui的网站j如何建立网站服务器
  • 快速搭建网站工具全国疫情又严重了
  • 网站无收录的原因seo手机关键词网址
  • 农业网站开发的实验报告sem培训班学费哪个好
  • 备案通青岛谷歌优化
  • 如何做网站排名百度平台客服怎么联系
  • web网站如何做负载均衡广告联盟app
  • 目前做网站最流行的程序语言免费b站软件下载
  • 网站设计 上海2023最新15件重大新闻
  • 手机端公司网站怎么做logo设计
  • 做动态网站可以不写代码吗怎样在百度上做广告推广
  • 创意广告视频网站百度文库官网登录入口
  • 面试网站建设问题什么叫优化关键词
  • 网站哪个公司好国内做网站比较好的公司
  • 怎么做会员自动售卡网站国内做网站的公司
  • 营销型网站建设应该注意什么百度关键字推广费用
  • 广州网站建设团队网络营销推广实训报告
  • 企业网站模板素材爱站查询
  • 网站备案公司太原网站建设
  • 网页设计作业怎么打包富阳网站seo价格
  • 北京网站搜索引擎优化在线域名解析ip地址