# -*- 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通信传输位置的更多相关文章

  1. java socket通信-传输文件图片--传输图片

    ClientTcpSend.java   client发送类 package com.yjf.test; import java.io.DataOutputStream; import java.io ...

  2. Java Socket实战之七 使用Socket通信传输文件

    http://blog.csdn.net/kongxx/article/details/7319410 package com.googlecode.garbagecan.test.socket.ni ...

  3. IOS 基于TCP的socket通信详解(原创)

    最近在整理通信层相关知识,这篇文章是边整理边写的,有些地方可能不够准确,还请各位路过的大牛专家指出来.这次整理的socket通信是基于TCP的,实现方式是GCD形式,以下记录的都是些理论知识,方便自己 ...

  4. 使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)

    原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...

  5. Android中Socket通信之TCP与UDP传输原理

    一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时 ...

  6. 网络编程 - socket通信/粘包/文件传输/udp - 总结

    socket通信 1.简单的套接字通信 import socket phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) phone.bin ...

  7. 网络编程、三要素、Socket通信、UDP传输、TCP协议、服务端(二十五)

    1.网络编程概述 * A:计算机网络 * 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传 ...

  8. .net平台下C#socket通信(上)

    在开始介绍socket前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳过去了.都是废话,进入正题. TCP/IP:Transmission Control Protocol ...

  9. C#socket通信1

    .net平台下C#socket通信(上) 完全是基础,新手可以随意看看,大牛可以关闭浏览页了,哈哈. 在开始介绍socket前先补充补充基础知识,在此基础上理解网络通信才会顺理成章,当然有基础的可以跳 ...

随机推荐

  1. iOS多线程编程(四)------ GCD(Grand Central Dispatch)

    一.简单介绍 是基于C语言开发的一套多线程开发机制.也是眼下苹果官方推荐的多线程开发方法.用起来也最简单.仅仅是它基于C语言开发,并不像NSOperation是面向对象的开发.而是全然面向过程的.假设 ...

  2. 【iOS开发系列】cell切割线置顶

    废话不多说,直接上代码: /** * tableViewCell切割线左側置顶 < 1 > */ -(void)viewDidLayoutSubviews { if ([_tableVie ...

  3. 关于数组类型的json解析方法

    遇到了非常奇葩的数组类型的json,一时解析不出来,用jsonObject会直接报错. Json数据如: [{"id":"1000142","name ...

  4. ubuntu git ssh不通

    xyh@ubuntu-64:~$ ssh -v git@danxinben.com                                                            ...

  5. 云打印-Beta-凡事预则立

    凡事预则立 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:Beta冲刺 团队队员 队员学号 队员姓名 个人博客地址 备注 221600 ...

  6. LeetCode(27)题解:Remove Element

    https://leetcode.com/problems/remove-element/ Given an array and a value, remove all instances of th ...

  7. python day- 10 动态参数 函数的嵌套 命名空间和作用域 global和nolocal

    一.动态参数: 动态参数是形参的一类 分为:动态位置参数(* + 函数名)表示 调用后返回的是元祖 动态关键字参数(** + 函数名)表示 形参的排列顺序: 位置参数     >   动态位置参 ...

  8. ssh免密码访问

    ssh-copy-id命令 它可以把本地主机的公钥复制到远程主机的authorized_keys文件上,ssh-copy-id命令也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh ...

  9. Delphi中取得汉字的首字母简单方法(十分巧妙)

    //从朝闻道的博客里转载,原文定义AHzStr: String,发现结果为空,后来改成AHzStr: AnsiString就可以了 function GetHzPy(const AHzStr: Ans ...

  10. file类简单操作

    file类可表示文件或文件夹 import java.io.File; import java.io.FilenameFilter; import java.io.IOException; impor ...