小编ZF0*_*007的帖子

如何在将CV2 numpy数组转换为QImage时配置颜色?

该程序基于pyqt和opencv.我计划在使用QT作为GUI时使用opencv读取和处理图像.

当我打开灰色图像时,结果还可以.但是在打开彩色图像时会改变图像的颜色.我想这是因为当我将numpy数组转换为OImage类型时我犯了错误,但我无法弄清楚如何纠正它.

# -*- coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys

import cv2
from cv2 import cv

QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))

class MainWindow(QMainWindow):
    def __init__(self,parent=None):
        super(MainWindow,self).__init__(parent)
        self.setWindowTitle("Show Image with pyqt")

        self.imageLabel=QLabel()
        self.imageLabel.setSizePolicy(QSizePolicy.Ignored,QSizePolicy.Ignored)
        self.setCentralWidget(self.imageLabel)

        self.image=QImage()

        self.createActions()
        self.createMenus()

        self.cv_img = None

    def createActions(self):
        self.fileOpenAction=QAction(QIcon(":/fileopen.png"),self.tr("Open"),self)
        self.fileOpenAction.setShortcut("Ctrl+O")
        self.fileOpenAction.setStatusTip(self.tr("Open the file"))
        self.connect(self.fileOpenAction,SIGNAL("triggered()"),self.slotOpenFile)

        self.exitAction=QAction(QIcon(":/filequit.png"),self.tr("Quit"),self)
        self.exitAction.setShortcut("Ctrl+Q")
        self.setStatusTip(self.tr("Quit"))
        self.connect(self.exitAction,SIGNAL("triggered()"),self.close)

    def createMenus(self):
        fileMenu=self.menuBar().addMenu(self.tr("File"))
        fileMenu.addAction(self.fileOpenAction)
        fileMenu.addAction(self.exitAction)


    def slotOpenFile(self):
        fileName=QFileDialog.getOpenFileName(self,self.tr("Open a file"),\
            ".",self.tr("Image File(*.png *.jpg *.jpeg *.bmp)"))

        cvfilename=fileName.toLocal8Bit().data()

        if fileName.isEmpty()==False:

            cvfilename=fileName.toLocal8Bit().data() #convert Qstring to char*
            self.cv_img = cv2.imread(cvfilename) …
Run Code Online (Sandbox Code Playgroud)

python qt opencv numpy pyqt

3
推荐指数
1
解决办法
5096
查看次数

从西门子s7-1200(0x8104)读取时出现libnodave错误

在检查s7nodave对S7-1200的EPICS设备支持时,我遇到了一个引用libnodave的问题.当我尝试读取PLC中的任何内存地址时,IOC控制台报告错误:

epics> 2014/05/19 14:20:41.964 Siemens-PLC error while reading 1 bytes from PLC address FB35. Status = context not supported. Step7 says:Function not implemented or error in telgram.
Run Code Online (Sandbox Code Playgroud)

这是libnodave状态代码0x8104.当我试图在网上搜索此错误代码时,所有结果都是参考S7-1500,而不是S7-1200.

我可以通过Siemens SDK访问这些内存块:它们存在并包含有效数据.

为什么S7-1200拒绝发送libnodave数据?有没有选项可以从网络中提供数据块?

我用EPICS版.3.14.12.4,s7nodave 1.03 build with asyn ver.4.11,boost ver.1.55.0.在PC和Virtualbox上尝试了各种版本.

plc libnodave s7-1200 siemens

3
推荐指数
1
解决办法
6356
查看次数

方差与变异系数

我需要确定哪个统计数据让我在数字图像上找到哪条线具有最高的变化.我使用方差(平方单位,计算为numpy.var(x))和变异系数(无单位,计算为numpy.sd(x)/numpy.mean(x)),但我得到了不同的值,如下所示:

v1 = line(VAR(x))

v2 =线(CV(x))

打印(V1,V2)

(12,17)

不应该都找到同一条线?在这种情况下哪一个可能更好用?

python statistics numpy image variations

2
推荐指数
1
解决办法
5141
查看次数

S7-1200、Snap7:异常:CLI:功能被 CPU 拒绝(未知错误)

使用西门子 S7-1200 PLC 在 python 的 snap7 客户端脚本下运行显示以下常见的 CLI 拒绝错误。这里的常见问题是什么以及如何解决?

脚本:

import snap7
from snap7.util import *
import struct
import snap7.client
from snap7.snap7types import S7AreaDB

plc=snap7.client.Client()

plc.connect('192.168.0.69',0,1)

area   = 0x84
start  = 0
length = 1
bit    = 0

byte= plc.read_area(area,0,start,length)
Run Code Online (Sandbox Code Playgroud)

追溯错误:

找不到记录器“snap7.common”回溯(最近一次调用最后一次)的处理程序:文件“”,第 1 行,文件“/usr/local/lib/python2.7/dist-packages/snap7/client.py ",第 242 行,在 read_area check_error(result, context="client") 文件“/usr/local/lib/python2.7/dist-packages/snap7/common.py”,第 69 行,在 check_error 中引发 Snap7Exception(错误) snap7.snap7exceptions.Snap7Exception: CLI : 函数被 CPU 拒绝(未知错误)

python plc tia-portal s7-1200 siemens

2
推荐指数
1
解决办法
4008
查看次数

如何将浮点数转换为时分秒?

我有浮点值,我试图将它们转换为小时:分钟:秒,但我失败了。我已经关注了以下帖子:

将浮点数转换为 hh:mm 格式

例如,我有一个浮点格式的值:

time=0.6 

result = '{0:02.0f}:{1:02.0f}'.format(*divmod(time * 60, 60))
Run Code Online (Sandbox Code Playgroud)

它给了我输出:

00:36 
Run Code Online (Sandbox Code Playgroud)

但实际上它应该像“00:00:36”。我如何得到这个?

python time floating

2
推荐指数
1
解决办法
3万
查看次数

为什么归一化后输出图像是黑色的?

我有很多灰度图像要使用均值和标准差进行归一化。我使用以下过程:

  1. 计算图像的均值和标准差。

  2. 从图像中减去平均值。

  3. 将结果图像除以标准偏差。

但是,结果我得到了一个黑色图像。我的代码有什么问题?

    import cv2

    img = cv2.imread('E.png')   # read an image 
    gray_image = cv2.cvtColor(img , cv2.COLOR_BGR2GRAY)  # converting the image to grayscale image
    img = cv2.resize(gray_image, (60, 60))  # Resize the image to the size 60x60 pixels

    cv2.imwrite("Grayscale Image.png",img)  #To write the result  

    mean, stdDev = cv2.meanStdDev(img)  #Get Mean and Standard-deviation
    image = (img-mean)/stdDev  #Normalization process

    cv2.imwrite("Normalized Image.png",image)  #To write the result 
Run Code Online (Sandbox Code Playgroud)

输入图像: i1

灰度输出: i2

归一化图像输出: i3

python opencv image-processing normalization grayscale

2
推荐指数
1
解决办法
2919
查看次数

需要澄清 opc ua 服务器和 opc ua 客户端

我想创建一个工业自动化应用程序来执行以下功能:

  1. 从 PLC、SCADA 和 DCA 读取值
  2. 处理这些值并将故障通知主管和技术人员

我是工业自动化行业和物联网的新手,我知道我们有 OPC UA 来救援。

我浏览了许多网站和 YouTube 视频来了解 OPC UA 及其前身(OPC DA、OPC A&E、OPC HDA)。我已经安装了 matrikon OPC 服务器和资源管理器(客户端)来探索更多。

假设我想从SIMATIC S7-1200 PLC读取信号,根据我的理解,OPC UA服务器是随PLC一起提供的,用于将OPC UA信息转换为Profinet信息。

所以,我的问题是:

  • 我应该在哪里编写逻辑来读取值?OPC 服务器还是客户端?
  • 我将使用 NODE-OPC-UA。有没有开源的 OPC 客户端 GUI?
  • 如何编写我们自己的没有OPC UA投诉的PLC OPC服务器?

如果有人分享一些资源,将不胜感激!

plc opc-ua tia-portal s7-1200 siemens

1
推荐指数
1
解决办法
2591
查看次数

如何通过pyspark数据框中的多个值查询一列?

spark.read.csv()在 pyspark 中得到了一个数据框。我可以使用df.filter(df['mobile'] == 'Vivo'). 现在,我想按多个值过滤“移动”列。

例如,我有一个band_list=['Apple','Samsung','Vivo']

我想过滤'mobile'此 band_list 中的值。

我知道一种方法是df.filter((df['mobile'] == 'Apple') | (df['mobile'] == 'Samsung')|(df['mobile'] == 'Vivo')),但它不灵活。

有人可以告诉我解决这个问题的另一种方法吗?

python dataframe apache-spark pyspark

1
推荐指数
1
解决办法
3429
查看次数

Discord:如何通过 id 获取用户?

我正在尝试创建一个 Web 应用程序来管理我的 Discord 服务器的用户。在我的数据库中,我只存储了用户的 ID。代码在浏览器中运行。但我也添加了 node.js 标签,因为我现在不知道即使通过调用在 node.js 中编程的服务器函数也能做到

我曾尝试使用 discord.js API,但据我所知,它需要一个不和谐的机器人来做到这一点。那不是我想要的。我想从我的前端检索用户的信息,即使是通过调用后端函数,但没有始终在线的不和谐机器人。换句话说,我需要更简单的东西。

我想仅使用 id 来请求用户的信息。在 javascript 中执行此操作的最佳方法是什么?

javascript discord

0
推荐指数
1
解决办法
2万
查看次数