定位,标记,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前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳 ...
随机推荐
- Bean定义并注册到spring
1.XML配置文件 2.Annotation注解 3.Java Code 配置方式 BeanDefinitionRegistryPostProcessor
- Redis HyperLogLog及应用
参考:http://www.runoob.com/redis/redis-hyperloglog.html Redis 在 2.8.9 之后的版本中,添加了 HyperLogLog 结构,用来做基数统 ...
- DataFactory 5.6注册码
一.DataFactory 5.6注册码 数据工厂5.6注册码如下,希望能帮助需求之人 AuthKey: 0-87093-23830-05141-17507 SiteMsg: FREELAND EVO ...
- run as maven test报错解决办法
eclipse中使用maven插件的时候,运行run as maven build的时候报错 -Dmaven.multiModuleProjectDirectory system propery is ...
- Mac OS用minikube安装单节点kubernetes
参考 https://kubernetes.io/docs/tasks/tools/install-minikube/ https://github.com/linianhui/code/blob/m ...
- asp.net+access实现DropDownList与RadDatePicker同步筛选
这里没有使用SqlServer是因为老师要求使用access. 前台代码 <table style="margin:auto"> <tr><td cl ...
- 理解yarn平台,理解万岁,肤浅理解也万岁~
从Hadoop1到Hadoop2很大程度上解放了Jobtracker资源调度的问题,这就得多亏了yarn平台了.我知道的,除了我们的大豆瓣用的是Mesos,咱们国家可以说应该是99.99%都使用的是y ...
- app上架的问题
1..p12证书文件(钥匙串导出)开发证书和描述文件的 2.app打包好重Xcode上传到iTunes中的时候最好做校验: 3.程序跑真机出现的问题 解决方法:debug 模式改成release模式 ...
- Android应用之——最新版本号SDK V2.4实现QQ第三方登录
为什么要写这篇博客呢?由于.我在做这个第三方登录的时候,找了非常多资料,发现要么就是过时了.要么就是说的非常不清楚.非常罗嗦.并且非常多都是一些小demo,不是什么实例.甚至连腾讯官方的文档都有这个问 ...
- B.大钉骑马走江湖
江湖是什么,对于在象棋界厮杀的大钉来说,江湖就是一个矩阵,他的目标,就是在江湖之中骑着马,从他的位置出发,走到终点. 当然,大钉的马也遵从中国象棋中的“马走日”的规则,而且在矩阵中,也会有一些障碍物, ...