让我们了解一下如何通过python中的CV2模块进行直播,并将其与套接字编程集成在一起。
我们需要一个服务器和一个客户端,因为我们已经知道,只有当客户端请求服务器并且服务器返回确认客户端时,实时流才是可能的。
因此,我们使用套接字编程来完成客户端和服务器的议程,从而生成了一个客户端和一个服务器文件,其中客户端给出了它必须连接的IP地址和端口号。
对于网络上的摄像头直播APP,可以使用TCP(传输控制协议)或IP(互联网协议)。该方法允许以形成视频的突发图像的图像的形式可靠地发送大的信息或数据,因为它管理如何在不丢失属性的情况下将较大的分组分解成较小的分组来发送,并在目的地以正确的顺序再次重组。
另一个已知的网络协议是UDP(用户数据报协议)。使用此协议是为了在网络上更快地传输数据。但是,与TCP/IP相比,UDP的缺点不太可靠,因为总是存在数据丢失(数据包丢失)的可能性。
TCP服务器-
TCP客户端-
步骤1:在本任务中,我使用了python中的套接字编程和CV2模块-
CV2模块-
使用Python-OpenCV模块,可以将图像从彩色变换为黑白、从黑白变换为灰色,或从RGB变换为色调饱和度和值。在Python中使用CV2模块时,了解图像类型和颜色通道非常重要。
我们可以认为Python中的图像是Numpy数组,使用CV2模块,我们可以修改数组并将图像转换为各种形式。
套接字编程-
套接字和套接字API用于通过网络发送消息。它们提供了一种进程间通信形式。网络可以是计算机的逻辑本地网络,也可以是物理连接到外部网络的网络,它自己连接到其他网络。最明显的例子是Internet,您可以通过ISP连接到Internet。
套接字编程是连接网络上的两个节点以相互通信的一种方式。一个套接字(节点)监听IP处的特定端口,而另一个套接字与另一个套接字连接以形成连接。服务器形成监听套接字,而客户端连接到服务器,他们才是Web浏览背后真正的骨干。简而言之,有一个服务器和一个客户端。
我已经创建了两个python文件client.py和server.py
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/18/%e5%a6%82%e4%bd%95%e5%80%9f%e5%8a%a9python%e4%b8%ad%e7%9a%84opencv%e5%ba%93%e5%88%b6%e4%bd%9c%e7%9b%b4%e6%92%ad%e8%a7%86%e9%a2%91%e8%b0%83%e7%94%a8app%ef%bc%9f/