尝试链接PyQt和Opencv视频源,无法理解如何应用while循环连续流式传输视频.它只需要一张照片.请任何人都可以帮助解决问题.
PtQt = 5
蟒蛇= 3.6.1
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 Video'
self.left = 100
self.top = 100
self.width = 640
self.height = 480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.resize(1800, 1200)
#create a label
label = QLabel(self)
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
rgbImage = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
convertToQtFormat = QtGui.QImage(rgbImage.data, rgbImage.shape[1], rgbImage.shape[0],
QtGui.QImage.Format_RGB888)
convertToQtFormat = QtGui.QPixmap.fromImage(convertToQtFormat)
pixmap = QPixmap(convertToQtFormat)
resizeImage = pixmap.scaled(640, 480, QtCore.Qt.KeepAspectRatio)
QApplication.processEvents()
label.setPixmap(resizeImage)
self.show()
if __name__ == '__main__':
app = …Run Code Online (Sandbox Code Playgroud) 无法访问视频流.任何人都可以帮助我获取视频流.我在谷歌搜索了解决方案并在堆栈溢出中发布了另一个问题,但遗憾的是没有什么不能解决问题.
import cv2
cap = cv2.VideoCapture()
cap.open('http://192.168.4.133:80/videostream.cgi?user=admin&pwd=admin')
while(cap.isOpened()):
ret, frame = cap.read()
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud) import pyspark
from pyspark.sql import SparkSession
from pyspark.conf import SparkConf
import findspark
from pyspark.sql.functions import countDistinct
spark = SparkSession.builder \
.master("local[*]") \
.appName("usres mobile related information analysis") \
.config("spark.submit.deployMode", "client") \
.config("spark.executor.memory","3g") \
.config("spark.driver.maxResultSize", "1g") \
.config("spark.executor.pyspark.memory","3g") \
.enableHiveSupport() \
.getOrCreate()
Run Code Online (Sandbox Code Playgroud)
handset_info = ora_tmp.select('some_value','some_value','some_value','some_value','some_value','some_value','some_value')
我用 3gb 执行内存和 3gb 执行 pyspark 内存配置 spark。我的数据库有超过 7000 万行。显示我调用
handset_info.show()
Run Code Online (Sandbox Code Playgroud)
方法是在 2-5 秒之间显示前 20 行。但是当我尝试运行以下代码时
mobile_info_df = handset_info.limit(30)
mobile_info_df.show()
Run Code Online (Sandbox Code Playgroud)
显示前 30 行需要太多时间(3-4 小时)。花那么多时间是否合乎逻辑。我的配置有问题吗。我的笔记本电脑的配置是-
select COMMUNITY_AREA_NAME, count(COMMUNITY_AREA_NAME) as Number_Of_Schools
from CHICAGO_PUBLIC_SCHOOLS group by COMMUNITY_AREA_NAME order by 2 desc
Run Code Online (Sandbox Code Playgroud)
我编写了上面的sql查询来获取结果集,该结果集解释了拥有最多学校的社区名称,结果就是这样但是如何才能显示前10个列?我使用'限制10'.但它显示出一些错误.
select Top 10 COMMUNITY_AREA_NAME, count(COMMUNITY_AREA_NAME) as Number_Of_Schools
from CHICAGO_PUBLIC_SCHOOLS group by COMMUNITY_AREA_NAME order by 2 desc
Limit 10;
Run Code Online (Sandbox Code Playgroud)
错误:
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near 'Limit'.
Run Code Online (Sandbox Code Playgroud) opencv ×2
python-3.x ×2
bigdata ×1
data-science ×1
group-by ×1
ip-camera ×1
pyqt ×1
pyqt5 ×1
pyspark ×1
python ×1
qpixmap ×1
sql ×1
sql-server ×1