https://blog.csdn.net/gm_ergou/article/details/92846396

1.均值偏移(磨皮效果)

import cv2 as cv
import numpy as npdef bi_demo(image):#边缘保留滤波dst=cv.bilateralFilter(image,0,40,15)cv.imshow("bi_demo",dst)def shift_demo(image):#均值迁移dst=cv.pyrMeanShiftFiltering(image,10,50)cv.imshow("bi_demo",dst)cv.imwrite('img/1/gg.jpg',dst)src1 = cv.imread('img/1/a3.jpg', cv.IMREAD_COLOR)  # 读入彩色图片
print(src1.shape)
cv.namedWindow("input image",1)
cv.imshow('image1', src1)
shift_demo(src1)
k = cv.waitKey(0)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

2.基于hsv改变整体亮度

# encoding:utf-8
import cv2def hsv(image, hue_shift_limit=(-2, 8), sat_shift_limit=(-5, 50),val_shift_limit=(0, 1.5)):img = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)v = img[:, :, 2]print(v)v=v+10img[:, :, 2] = vimage = cv2.cvtColor(img, cv2.COLOR_HSV2BGR)print(v)cv2.imwrite("img/3/0.jpg", image)path1='img/3/gg1.jpg'
img1 = cv2.imread(path1, cv2.IMREAD_UNCHANGED)
hsv(img1)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3.基于灰度调节亮度(两张对比)

import cv2 as cv
import numpy as np
import cv2def get_avg(list5):if len(list5)==0:avg=0;else:avg = sum(list5)/ len(list5)return avgdef light(img):gray = cv.cvtColor(img, cv.COLOR_RGB2GRAY)x = gray.shape[0]y = gray.shape[1]list1 = []list2 = []for i in range(x):for j in range(y):if img[i,j][0]>20:if j>250 and j < 256:list1.append(gray[i, j])elif j>256 and j<262:list2.append(gray[i, j])avg1 = get_avg(list1)avg2 = get_avg(list2)return avg1,avg2def change(img,dif):x = img.shape[0]y = img.shape[1]for i in range(x):for j in range(y):if img[i,j][0]>20:if j>=255:img[i, j][0] += difimg[i, j][1] += difimg[i, j][2] += difcv2.imwrite('img/2/a5.jpg',img)img= cv.imread('img/2/a3.jpg')
avg1=light(img)[0]
avg2=light(img)[1]
dif=avg1-avg2
change(img,dif)
print(dif)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

4.图像修复—inpaint

import cv2img = cv2.imread('img/3/a1.jpg')
mask = cv2.imread('img/3/a2.jpg', 0)cv2.imshow('img', img)
cv2.imshow('mask', mask)dst = cv2.inpaint(img, mask, 20, cv2.INPAINT_TELEA)
cv2.imshow('1', dst)dst2 = cv2.inpaint(img, mask, 20, cv2.INPAINT_NS)
cv2.imshow('2', dst2)cv2.waitKey(0)
cv2.destroyAllWindows()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

5.1 图像融合(整体)

#encoding:utf-8
import cv2
import numpy as np
import matplotlib.pyplot as pltsrc1 = cv2.imread('img/a3.jpg')
src2 = cv2.imread('img/a5.jpg')#图像融合
result = cv2.addWeighted(src1, 0.8, src2, 0.2, 0)cv2.imshow("src1", src1)
cv2.imshow("src2", src2)
cv2.imshow("result", result)
# cv2.imwrite('img/a6.jpg',result)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

5.2 图像融合(只融合v通道)

from PIL import *
import numpy as np;
import cv2;             #导入opencv模块img1=cv2.imread("img/a3.jpg");#读取要处理的图片
img1_hsv = cv2.cvtColor(img1, cv2.COLOR_BGR2HSV)
img1_h = img1_hsv[..., 0]
img1_s = img1_hsv[..., 1]
img1_v = img1_hsv[..., 2]img2=cv2.imread("img/a5.jpg");#读取要处理的图片
img2_hsv = cv2.cvtColor(img2, cv2.COLOR_BGR2HSV)
img2_h = img2_hsv[..., 0]
img2_s = img2_hsv[..., 1]
img2_v = img2_hsv[..., 2]result = cv2.addWeighted(img1_v, 0.9, img2_v, 0.1, 0)
cv2.imshow("src1", img1_v)
cv2.imshow("src2", img2_v)
cv2.imshow("result", result)
# cv2.imwrite('img/a6.jpg',result)
img3 = cv2.merge([img2_h, img2_s, result])
img4 = cv2.cvtColor(img3, cv2.COLOR_HSV2BGR)
cv2.imshow("examplesR1", img2)
cv2.imshow("examplesR2", img4)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

python——图像处理3(均值偏移、改变亮度、图像修复、图像融合)相关推荐

  1. 图像修复 图像补全_图像修复简介

    图像修复 图像补全 In practical applications, images are often corroded by noise. These noises are dust or wa ...

  2. 毕业设计之 - 基于深度学的图像修复 图像补全

    1 前言 Hi,大家好,这里是丹成学长,今天向大家介绍 基于深度学的图像修复 图像补全 大家可用于 毕业设计 2 什么是图像内容填充修复 内容识别填充(译注: Content-aware fill , ...

  3. [Python图像处理] 十三.基于灰度三维图的图像顶帽运算和黑帽运算

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  4. [Python图像处理] 三十八.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  5. matlab偏微分图像修复,图像修复 Region filling and object removal by exemplar-based image inpainting matlab实现...

    介绍 本代码是对Region filling and object removal by exemplar-based image inpainting的MATLAB实现,用来对图像进行区域填充.物体 ...

  6. 《OpenCv视觉之眼》Python图像处理十六:Opencv图像处理实战一之图像中的硬币检测

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  7. [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)...

    此文转载自:https://blog.csdn.net/Eastmount/article/details/111568397#commentBox 该系列文章是讲解Python OpenCV图像处理 ...

  8. python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换

    [Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...

  9. 《OpenCv视觉之眼》Python图像处理二十一:Opencv图像处理之图像线性变换和非线性变换的方法及原理

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  10. python图合并_Python图像处理实现两幅图像合成一幅图像的方法【测试可用】

    本文实例讲述了Python图像处理实现两幅图像合成一幅图像的方法.分享给大家供大家参考,具体如下: 将两幅图像合成一幅图像,是图像处理中常用的一种操作,python图像处理库PIL中提供了多种种将两幅 ...

最新文章

  1. [c#基础]关于try...catch最常见的笔试题
  2. aliyun 日志服务(Log Service,Log)是针对日志场景的一站式服务
  3. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-目录
  4. Visual Studio的Web Performance Test提取规则详解(1)
  5. 联邦学习--数据攻击(1)
  6. bucket sort sample sort 并行_IBM布局AI硬件大杀器:硬软件并行开发、开源模拟AI工具包...
  7. 字节跳动推出企业技术服务平台“火山引擎”
  8. vue 心跳监控_Vue中WebSocket加入心跳机制
  9. 一个简单的文本编译器
  10. mkdir命令的-p和-m
  11. 2020-2021 年度广东省职业院校学生专业技能大赛网络空间安全赛项竞赛规程
  12. jwt怎么获取当前登录用户_获取jwt(json web token)中存储的用户信息
  13. 安卓和ios针对小程序兼容以及小程序技术实现上本身遇到的一些问题
  14. python是个坑_Python 有什么不为人知的坑?
  15. 抖音数据化运营可以分为4个大的模块
  16. 如何利用小红书进行产品营销?小红书营销技巧有哪些?
  17. android应用开发完全
  18. 《跃迁——成为高手的技术》:让人生破局
  19. 微信聊天api接口调用
  20. JIRA-使用教程_概念

热门文章

  1. html 相对于父标签位置,css子元素如何相对父元素定位?
  2. everything每次打开都会扫描_每次启动车,转方向盘都会咔一下,咋回事?
  3. 重新启动正在运行的linux,下面哪个命令行可用来马上重新启动正在运行的Linux系统()。A.restart--delay=0B.reboot-wC.halt-p...
  4. sql左连接_【PL/SQL 练习题】左连接条件里的And和Where
  5. Rational Rose打开方式
  6. 数据类型转换(Java)
  7. 【c语言】蓝桥杯算法提高 约数个数
  8. f150platinum_新款福特F150PLATINUM精英版皮卡超强越野实力展示
  9. Paypal支付的退款refund之getAccessToken
  10. RedHat之yum解决办法