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

城阳城市规划建设局网站成都网站公司网站建设

城阳城市规划建设局网站,成都网站公司网站建设,企业网站建设与实施调研报告基本情况,网站建设一条龙ue365使用python开发的开运算调试器 简介效果代码 简介 用来调试闭运算效果的小工具,滑动条可以控制滤波核的大小,用来查看不同滤波核下的闭运算效果。 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayou…

使用python开发的开运算调试器

  • 简介
  • 效果
  • 代码

简介

用来调试闭运算效果的小工具,滑动条可以控制滤波核的大小,用来查看不同滤波核下的闭运算效果。

效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLabel, QFileDialog, QSlider
from PyQt5.QtGui import QPixmap, QImage
from PyQt5.QtCore import Qt
import cv2
import numpy as npclass ImageDisplayWidget(QWidget):def __init__(self):super().__init__()self.initUI()self.image = Nonedef initUI(self):self.main_layout = QVBoxLayout()self.resize(820, 620)self.open_button = self.create_button("打开图片", self.open_image)self.img_win = QWidget()img_win_layout = QHBoxLayout()self.img_win.setLayout(img_win_layout)self.orgin_img_label = QLabel()self.image_label = QLabel()self.add_image_view(img_win_layout, "原图", self.orgin_img_label)self.add_image_view(img_win_layout, "处理后的图", self.image_label)self.slider = self.create_slider(self.process_image)self.slider2 = self.create_slider(self.process_image)self.slider_value_label = QLabel("滤波核大小: 0x0")controls_layout = QHBoxLayout()self.add_control(controls_layout, "滤波核大小(ksize):", self.slider, self.slider_value_label)controls_layout2 = QHBoxLayout()self.main_layout.addWidget(self.open_button)self.main_layout.addWidget(self.img_win)self.main_layout.addLayout(controls_layout)self.main_layout.addLayout(controls_layout2)self.setLayout(self.main_layout)self.setWindowTitle('闭运算调试器')self.set_common_style(self.slider_value_label)# self.set_common_style()self.show()def add_image_view(self, layout, label_text, image_label):image_view_layout = QVBoxLayout()name_label = QLabel(label_text)name_label.setAlignment(Qt.AlignCenter)image_view_layout.addWidget(image_label, alignment=Qt.AlignCenter)image_view_layout.addWidget(name_label, alignment=Qt.AlignCenter)layout.addLayout(image_view_layout)self.set_common_style(name_label)def create_button(self, text, clicked_slot):button = QPushButton(text)button.clicked.connect(clicked_slot)self.set_common_style(button)return buttondef create_slider(self, value_changed_slot):slider = QSlider(Qt.Horizontal)slider.setMinimum(1)slider.setMaximum(100)slider.setSingleStep(2)slider.valueChanged.connect(value_changed_slot)self.set_slider_style(slider)return sliderdef add_control(self, layout, label_text, slider, value_label):control_label = QLabel(label_text)layout.addWidget(control_label)layout.addWidget(slider)layout.addWidget(value_label)self.set_common_style(control_label)def set_common_style(self, label):label.setStyleSheet("""  QLabel {  font-family: '微软雅黑';  font-size: 12pt;  color: red;  }QPushButton {  font-family: '微软雅黑';  font-size: 12pt;  color: red;  }  """)def set_slider_style(self, slider):slider.setStyleSheet("""  QSlider::groove:horizontal {  background: #999999;  height: 8px;  margin: 0;  border-radius: 4px;  }  QSlider::handle:horizontal {  background: red;  border: 1px solid #999999;  width: 16px;  height: 16px;  margin: -7px 0; /* handle is placed in the middle */  border-radius: 8px;  }  QSlider::add-page:horizontal {  background: #FF0000; /* This is the red color from your font color */  }  QSlider::sub-page:horizontal {  background: #555555; /* You can choose a different color for the filled part */  }  """)def open_image(self):self.filename, _ = QFileDialog.getOpenFileName(self, '打开图片', '.', '图片文件 (*.png *.jpg *.jpeg *.bmp)')if self.filename:self.image = cv2.imread(self.filename)or_img = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB)h, w, ch = or_img.shapebytes_per_line = ch * wq_img = QImage(or_img.data, w, h, bytes_per_line, QImage.Format_RGB888)pixmap = QPixmap.fromImage(q_img)if pixmap.width() > 600 or pixmap.height() > 600:pixmap = pixmap.scaled(600, 600, Qt.KeepAspectRatio, Qt.SmoothTransformation)self.orgin_img_label.setPixmap(pixmap)self.process_image()def process_image(self):if self.image is None:returnkernel_size = self.slider.value()if kernel_size %2 == 0:passelse:self.slider_value_label.setText(f"矩形核大小: {kernel_size}x{kernel_size}")kernel = np.ones((kernel_size, kernel_size), np.uint8)processed_image = cv2.morphologyEx(self.image, cv2.MORPH_CLOSE, kernel)processed_image = cv2.cvtColor(processed_image, cv2.COLOR_BGR2RGB)h, w, ch = processed_image.shapebytes_per_line = ch * wq_img = QImage(processed_image.data, w, h, bytes_per_line, QImage.Format_RGB888)pixmap = QPixmap.fromImage(q_img)if pixmap.width() > 600 or pixmap.height() > 600:pixmap = pixmap.scaled(600, 600, Qt.KeepAspectRatio, Qt.SmoothTransformation)self.image_label.setPixmap(pixmap)if __name__ == '__main__':app = QApplication(sys.argv)ex = ImageDisplayWidget()sys.exit(app.exec_())
http://www.yayakq.cn/news/746251/

相关文章:

  • wordpress微站秦皇岛信息平台
  • 四川省住房城乡建设厅网站微商城网站建设方案
  • 深圳医院网站建设一般上什么网站
  • 建设商务网站的步骤厦门市建设局网站住房保障2018
  • 欢迎访问陕西省交通建设集团公司网站北京系统开发
  • php做用户登录网站做淘宝要用到哪些网站
  • 重庆石桥铺网站建设公司青海风控app下载
  • 网站建设进项填那个服务网页设计公司联系方式
  • 公司网站建设平台网站被刷流量怎么办
  • 免费商业网站模板关键词优化 搜索引擎
  • 山西汽车网站建设asp科技公司网站源码
  • 自适应企业网站模板制作书签的意义
  • 网站开发项目经理主要工作做书店网站版头
  • 聊城做网站比较不错的公司下载应用商店app下载安装
  • 腾冲住房和城乡建设局网站施工企业新聘用的项目经理因变更注册申报不及时
  • 织梦网站地图模板修改wordpress 无插件主题
  • 大专网站建设的论文范文动态表情包在线制作
  • ECMS做的网站护理专业简历制作
  • 石家庄网站开发哪家好长春网站seo
  • 网站建设基本流程包括姐妹直播视频tv
  • 企业没有专业人员怎么建设网站济南网站搜索优化
  • 设计软件免费下载网站那个网站可以做logo
  • 石家庄企业建站系统网站班级文化建设
  • 三门峡河南网站建设网站 缓存什么时候使用
  • 口碑好的郑州网站建设查域名注册
  • 装饰行业网站建设广州 建 网站
  • 做网站去哪里建筑方案设计考试
  • 济南营销型网站建设工作室网站空间哪里买
  • 企业网站建设最新技术国家对网站建设有什么要求
  • 企业网站的主要功能网站开发的工作内容