PyQt5显示灰度图

numpy数组存储的灰度图,要用qt来显示时一定要转换成numpy.uint8格式!!!否则不会真正显示出来想要的灰度图数组,而plt却没有这问题。

from PyQt5 import QtGui       
from PyQt5.QtGui import QPixmap, QImage
import numpy as np
image = image.astype(np.uint8) # 灰度图二维数组
height, width = image.shape
show = QtGui.QImage(image.data, width, height, QImage.Format_Grayscale8)
self.label_gray_image.setPixmap(QPixmap.fromImage(show))

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用 pyqt5 显示灰度图片的直方图的代码: ```python import sys from PyQt5.QtGui import QImage, QPixmap from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow from PyQt5.QtChart import QChart, QChartView, QBarSet, QBarSeries, QValueAxis class MainWindow(QMainWindow): def __init__(self): super().__init__() # 读取灰度图片 image = QImage('gray_image.png') image = image.convertToFormat(QImage.Format_Grayscale8) # 计算直方图 histogram = [] * 256 for y in range(image.height()): for x in range(image.width()): pixel_value = image.pixelColor(x, y).red() histogram[pixel_value] += 1 # 创建柱状图 bar_set = QBarSet('灰度直方图') for i in range(256): bar_set.append(histogram[i]) bar_series = QBarSeries() bar_series.append(bar_set) chart = QChart() chart.addSeries(bar_series) chart.setTitle('灰度直方图') chart.setAnimationOptions(QChart.SeriesAnimations) # 设置 X 轴 axis_x = QValueAxis() axis_x.setRange(, 255) axis_x.setTickCount(16) axis_x.setLabelFormat('%d') chart.addAxis(axis_x, Qt.AlignBottom) bar_series.attachAxis(axis_x) # 设置 Y 轴 axis_y = QValueAxis() axis_y.setRange(, max(histogram)) axis_y.setTickCount(5) chart.addAxis(axis_y, Qt.AlignLeft) bar_series.attachAxis(axis_y) # 显示柱状图 chart_view = QChartView(chart) chart_view.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(chart_view) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) ``` 希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值