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

Opencv拖动条控制均值滤波卷积核大小,拖动条控制是否保存(涉及知识点:cv2.createTrackbar和cv2.getTrackbarPos的使用)

'''
    带拖动条的均值滤波
'''
import time

import cv2
import numpy as np

def callback(int):
    pass

cv2.namedWindow('dst',cv2.WINDOW_AUTOSIZE)

# 创建trackbar (trackbarname,winname,value,count,callback,userdata)
cv2.createTrackbar('ksize', 'dst', 3, 30, callback)
cv2.createTrackbar('save', 'dst', 0, 1, callback)

path = '../img/'
img_name = 'lena'
suf = '.jpg'

img_path = path+img_name+suf

img = cv2.imread(img_path)

dst = img.copy()
while True:
    cv2.imshow('img', img)
    ksize = cv2.getTrackbarPos('ksize', 'dst')  # 输出值:trackbarname,winname  输出:当前值
    if ksize%2==0:
        ksize+=1
    # dst = cv2.blur(img, (ksize,ksize))
    dst = cv2.GaussianBlur(img,(ksize,ksize),sigmaX=1)
    cv2.imshow('dst', dst)

    # 判断是否保存
    is_save = cv2.getTrackbarPos('save','dst')

    if is_save==1:
        cv2.imwrite(path+img_name+'_new'+suf,dst)
        print('已保存')
        is_save=0
    key = cv2.waitKey(300)  # 持续10ms
    if key & 0xFF == 27:
        break
cv2.destroyAllWindows()

原图:
在这里插入图片描述
结果:
在这里插入图片描述


http://www.kler.cn/a/153818.html

相关文章:

  • C++---类型转换
  • 25. 架构能力
  • MySQL系列之数据授权(privilege)
  • 【leetcode 02】27. 移除元素
  • Linux Kernel Programming 2
  • 哋它亢SEO技术分析:如何提升网站在搜索引擎中的可见性
  • 【性能测试】JMeter:集合点,同步定时器的应用实例!
  • 【前端】大文件切片上传性能优化 使用 web worker 多线程
  • 2023年12月2日历史上的今天大事件早读
  • Boot工程快速启动【Linux】
  • el-select实现可复制一段“关键词“(多个)实现搜索 以及 回车选中搜索项
  • 使用dirmap命令行时报错,提示缺少gevent模块
  • LinkedList详解
  • 自己动手实现一个深度学习算法——七、卷积神经网络
  • string的模拟
  • 服务号可以升级订阅号吗
  • VR 实现 Splash Screen 效果
  • 通付盾Web3专题 | SharkTeam:起底朝鲜APT组织Lazarus Group,攻击手法及洗钱模式
  • MYSQL 连接的使用
  • 【前端】利用正则生成目录,附加解决a链接锚点偏移
  • Nacos多数据源插件
  • 【华为OD题库-056】矩阵元素的边界值-java
  • Python知识碎片补充【侯小啾python领航班系列(十四)】
  • Redis SDS 源码
  • 深信服AD负载均衡频繁掉线故障分析
  • ansible模块