定位,标记,Socket通信传输位置
# -*- coding: utf- -*-
"""
Editor : X-POWER Date : -- Motto : talk is cheap,show me your code ! This is a temporary script file.
""" import numpy as np
import pyscreenshot as ImageGrab
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import cv2
import time
import socket # Network communication def client(num):
mysocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
mysocket.connect(('192.168.1.101',))
mysocket.send(str(num))
print("+++++++++++++++++++++++++++++++++++++++")
mysocket.close() def draw_rectangle(img,location):
cv2.rectangle(img,( - location[], - location[]),( - location[], - location[]),(,,),) # Belongs to the picture , location , color , thickness def get_location():
a = [[],[],[],[],[],[],[],[],[],[],[],[]]
rectangle = [(,,,),(,,,),(,,,),(,,,),(,, ,),(,, ,),(,, ,),(,, ,),(,, ,),(,, ,),(,, ,),(,, ,)]
for num in range():
for i in range(rectangle[num][],rectangle[num][]):
for j in range(rectangle[num][],rectangle[num][]):
a[num].append((i,j))
return a,rectangle def identify_method_one(im,draw_location,rectangle): # image ,
student_location = []
for i in range():
sum = for j in draw_location[i]:
tem = im[j[]][j[]].sum()/
tem = abs(im[j[]][j[]][]-tem) + abs(im[j[]][j[]][]-tem) + abs(im[j[]][j[]][]-tem)
sum += tem
sum /= ((rectangle[i][]-rectangle[i][]) * (rectangle[i][] - rectangle[i][])) student_location.append(sum) return student_location draw_location,rectangle = get_location() cap = cv2.VideoCapture("http://192.168.1.101:8080/?action=stream") statue =
while True: ret, frame = cap.read()
im = frame[::-,::-,] student_location = identify_method_one(im,draw_location,rectangle)
count =
location = []
for i in student_location:
if i >= :
location.append(count)
count +=
print(student_location)
im = im[::-,::-,]
for i in location: #x mark all of the student location
draw_rectangle(frame,rectangle[i])
im = im[::-,::-,]
#-------deal-------
num =
num1 =
num2 =
num3 =
for i in location:
if i>= and i<=:
num1 =
if i>= and i<=:
num2 =
if i>= and i<=:
num3 =
if num1 == :
num += if num2 == :
num += if num3 == :
num +=
#-------deal-------
#print(num,statue)
#------Socket-------
if statue != num:
print("---")
statue = num
client(num)
#------Socket------- cv2.imshow("capture", im)
if cv2.waitKey() and 0xFF == ord('q'):
break cap.release()
cv2.destroyAllWindows()
定位,标记,Socket通信传输位置的更多相关文章
- java socket通信-传输文件图片--传输图片
ClientTcpSend.java client发送类 package com.yjf.test; import java.io.DataOutputStream; import java.io ...
- Java Socket实战之七 使用Socket通信传输文件
http://blog.csdn.net/kongxx/article/details/7319410 package com.googlecode.garbagecan.test.socket.ni ...
- IOS 基于TCP的socket通信详解(原创)
最近在整理通信层相关知识,这篇文章是边整理边写的,有些地方可能不够准确,还请各位路过的大牛专家指出来.这次整理的socket通信是基于TCP的,实现方式是GCD形式,以下记录的都是些理论知识,方便自己 ...
- 使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)
原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...
- Android中Socket通信之TCP与UDP传输原理
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时 ...
- 网络编程 - socket通信/粘包/文件传输/udp - 总结
socket通信 1.简单的套接字通信 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bin ...
- 网络编程、三要素、Socket通信、UDP传输、TCP协议、服务端(二十五)
1.网络编程概述 * A:计算机网络 * 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传 ...
- .net平台下C#socket通信(上)
在开始介绍socket前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳过去了.都是废话,进入正题. TCP/IP:Transmission Control Protocol ...
- C#socket通信1
.net平台下C#socket通信(上) 完全是基础,新手可以随意看看,大牛可以关闭浏览页了,哈哈. 在开始介绍socket前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳 ...
随机推荐
- 第04章-VTK基础(2)
[译者:这个系列教程是以Kitware公司出版的<VTK User's Guide -11th edition>一书作的中文翻译(出版时间2010年,ISBN: 978-1-930934- ...
- WPF使用HierarchicalDataTemplate绑定Dictionary生成TreeView
Dictionary中的<string, CustomeType>CustomeType是一个集合,将其绑定生成一棵树,树的第一层节点是Dictionary的Key,第二层是Custome ...
- 全局钩子 实例(不使用DLL和使用DLL两种)
大家应该都知道,全局消息钩子要依赖于一个DLL才能够正常工作.于是呢,我也就理所当在地认为全局钩子都要依赖于一个DLL才能正常工作的,我想大部分人肯定和我一样也这么认为的. 但实际上不是这样的.有某些 ...
- To verify Hadoop releases using GPG
To verify Hadoop releases using GPG http://hadoop.apache.org/releases.html To verify Hadoop releases ...
- DOM操作二
1.创建节点 createElement(): 创建新的Element节点 var s = document.createElement('script'); createTextNode(): ...
- nginx搭建支持http和rtmp协议的流媒体server之中的一个
实验目的:让Nginx支持flv和mp4格式文件,支持RTMP协议的直播和点播:同一时候打开RTMP的HLS功能 资料:HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的 ...
- 关于在PHP中当一个请求未完成时,再发起另一个请求被阻塞的问题
最近做项目的时候遇到个问题,就是做阿里云oss大文件上传进度条显示,因为要实时查询上传分片进度,所以在上传的同时必须要再发起查询的请求,但是一直都是所有分片上传完成后查询的请求才执行,刚开始以为是阿里 ...
- 运用Links方法安装插件
方法如下: (1)在Eclipse的安装目录下新建两个文件夹:一个用来存放插件,取名为myplugins:另一个用来存放link文件,取名为links. (2)将下载的插件解压缩到myplugins目 ...
- iframe引入页面
将外层css框架单独存放在一个css文件之中,将iframe的css单独写在一个css文件,避免iframe中的html,body等公共部分的样式冲突. 外层框架单独写在一个css,如: frame. ...
- HDU1358 Period —— KMP 最小循环节
题目链接:https://vjudge.net/problem/HDU-1358 Period Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...