image-processing - 如何使用openCV将对比度应用于图像的一半
问题描述
contrast_img = cv2.addWeighted(img, 2.5, np.zeros(img.shape, img.dtype), 0, 0)
如何更改一半图像的对比度,我正在使用上面的代码,我需要在我的代码中进行哪些更改
解决方案
您可以切出图像的上半部分并将对比度功能应用于该部分。
top_half = img[0:int(height/2), :, :];
我相当肯定,使用 python 别名将对比度应用到“top_half”也会改变原来的“img”,但如果不是,你总是可以用这个将 top_half 覆盖到 img 上:
img[0:int(height/2), :, :] = top_half;
注意:opencv 中的图像是形状为 [height, width, channels] 的 numpy 数组(灰度图像或其他单通道表示可能缺少最后一维)。我在这里假设您正在使用 rgb(opencv 中的 bgr)图像。
推荐阅读
- excel - 通过单击其中的单元格来显示列
- yocto - 在 yocto 战士分支中生成 core-image-selinux 时出现“介子失败”
- c# - IIS 条件未通过自定义操作正确传递
- javascript - 找到了 JQuery 元素,但它不可点击
- laravel - 如何解决队列工作人员在通过 queue:work 完成 3 个成功作业后自行停止和退出的问题
- uitapgesturerecognizer - 在 iOS 13 中向 PDFView 添加轻击手势识别器
- java - 调用MediaProjectionManager截图时,每次都会弹出截图权限框。如何设置取消?
- java - Hikari 连接池设置空闲连接但在 oracle Db 中有限制连接
- ruby-on-rails - 升级 Faraday gem:RuntimeError: Adapter 应该使用 `adapter` 方法设置,而不是 `use`
- javascript - 我想在我的 React Native 应用程序中的谷歌地图中显示附近的餐馆。当我调用 Google API 附近搜索时,它会抛出状态:'ZERO_RESULTS'