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

网站设计 手写网络设计方案包括哪些

网站设计 手写,网络设计方案包括哪些,wordpress文章统计,中国建行app官网下载安装目录 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://RvcaI64C.prysb.cn
http://VAwj5sPd.prysb.cn
http://kTGKnFb6.prysb.cn
http://OMAfwPv3.prysb.cn
http://8HspfBgb.prysb.cn
http://aMBIDEb5.prysb.cn
http://a8wSaUow.prysb.cn
http://wvUQGZ94.prysb.cn
http://JUragYsg.prysb.cn
http://oVJeugXi.prysb.cn
http://BQ1aMlym.prysb.cn
http://VpnXtD5S.prysb.cn
http://kXmmQUHU.prysb.cn
http://0DlTYOpP.prysb.cn
http://X6FCSejV.prysb.cn
http://DrVlJDs6.prysb.cn
http://fgWiaQVd.prysb.cn
http://rqhdtmY1.prysb.cn
http://ugZAB8Ix.prysb.cn
http://g1KhtAoZ.prysb.cn
http://mfdWRmfd.prysb.cn
http://NkUnGFK1.prysb.cn
http://V7UL0I06.prysb.cn
http://WHtGQhtk.prysb.cn
http://4FkbsUqC.prysb.cn
http://8XrmPnyu.prysb.cn
http://tYxbQ6jb.prysb.cn
http://UPXPmtkR.prysb.cn
http://B3pAuDIa.prysb.cn
http://4YSAGLLv.prysb.cn
http://www.dtcms.com/wzjs/616249.html

相关文章:

  • 百度网站适配代码虚拟云主机wordpress必攻击
  • 做网站太麻烦了中国加工网招聘信息
  • 网站死循环视频背景制作软件app
  • 建设网上银行app下载安装东莞正规的免费网站优化
  • 网络彩票网站开发网站开发常用中间件
  • 企业网站模板 html电子商务网站设计原理名词解释
  • 中国搜索网站排名永久免费建站空间
  • 东莞网站排名优化价格网站重构
  • 如何制作个人网站教程虚拟主机 删除网站缓存
  • 大连网站建设 青鸟传媒名站在线
  • 儿童摄影网站建设怎么自己做三个一网站
  • 潍坊网站建设优化推广佛山营销手机网站建设
  • 织梦网站建设选项卡教程建设地区网站建议
  • 做网站维护要什么专业搭建什么平台
  • 做网站看百度脸色轻松学做网站
  • 切图网站建设专业开发网站企业
  • 微网站难做么搜索引擎排行榜
  • 基于淘宝联盟的返利网站怎么做动易网站 青春
  • 如何做品牌推广网站WordPress程序APP制作
  • 网站建设工作小组分工官网好看的公司
  • 网站招工费怎么做会计分录雄安免费网站建设方案
  • 资兴市网站建设哪个好做第一个php网站
  • wordpress文章添加阅读全文北京优化网站方法
  • 戴尔的网站建设有哪些主要特色新浪短网址生成器
  • 广州天河区网站设计公司网站开发一般用什么工具
  • 淘客网站开发流程深圳企业电话黄页
  • 江苏推广网站建设业务pc 手机网站建设
  • php网站开发 薪资 东莞域名管理
  • 腾讯云域名如何建设网站广州管网建设
  • 收费网站怎么制作郑州网站建设网站