rect

OpenCV学习之子图像操作

核能气质少年 提交于 2020-02-05 05:48:49
我们有时候希望对图像的某个小部分进行操作,而不是对整个图像进行运算。有两种方法,ROI和widthStep。 1. ROI 设置一个ROI区域使用cvSetImageROI,取消一个ROI使用cvResetImageROI。函数原型分别如下: void cvSetImageROI( IplImage* image, CvRect rect ); void cvResetImageROI( IplImage* image ); rect就是我们要操作的图像的某个区域。实例如下: #include <cv.h> #include <highgui.h> int main(int argc, char* argv[]) { IplImage* src; CvRect rect = cvRect(70, 70, 50, 50); if (argc == 2 && ((src = cvLoadImage(argv[1], 1)) != NULL)) { cvSetImageROI(src, rect); cvAddS(src, cvScalar(50), src); cvResetImageROI(src); cvNamedWindow("roi_add", CV_WINDOW_AUTOSIZE); cvShowImage("roi_add", src); cvWaitKey();

android 解决键盘遮挡问题

牧云@^-^@ 提交于 2020-02-05 02:54:15
android开发过程中,会遇到编辑框输入内容弹出软键盘,往往会出现键盘遮挡内容,或者出现页面整体上移的,或多或少在体验上都不是很优雅,今天提供个方法是自行控制页面上移距离,竟可能让页面呈现给用户友好点。 一般我们会在AndroidManifest.xml 里配置windowSoftInputMode来控制键盘与页面的交互。 举个栗子,一个简单的登录页面。 adjustResize activity 加 adjustResize:Activity总是调整屏幕的大小以便留出软键盘的空间,可以看到页面整体上移,最下面的一行字也可以看到。 adjustPan activity 加 adjustPan:当前窗口的内容将自动移动以便当前焦点不被键盘覆盖,用户能总是看到输入内容的部分。 可以发现页面会自动移动,以便获取焦点的editText 不被键盘遮住,但是确定按钮被遮住了,用户需要自行隐藏键盘 再确定。 而我想要的效果是用户输入过程中 确定 按钮一直可见,且要底部的内容被遮挡,这就需要我们自己控制页面上移距离。 监听键盘弹出/隐藏的过程,获取键盘高度,计算需要上移的高度,以便按钮可见。 //监听键盘弹出/隐藏 container.getViewTreeObserver ( ) .addOnGlobalLayoutListener ( new ViewTreeObserver

分享:动态添加控件和公用章水印工具 提供源码下载

删除回忆录丶 提交于 2020-02-03 14:55:04
动态添加控件 需求:最近项目有个小功能,根据配置文件配置的个数,动态在窗体上生成指定个数的TextBox,并获取其内容用于业务需求。 无废话,直接上核心代码: /// <summary> /// 获取所有TextBox的内容 /// </summary> private void GetAllTextBoxValue() { StringBuilder sb = new StringBuilder(); foreach (Control c in this.PanelCarton.Controls) { if (c is TextBox) { TextBox testBox = c as TextBox; sb.Append(testBox.Text+","); } } label1.Text = sb.ToString(); } /// <summary> ///根据配置的units,动态添加TextBox控件 /// </summary> /// <param name="units"></param> private void AddTextBoxControlByUnits(int units) { int loopCount = 0; int txtID = 0; int x = units, y = 5; while (x > y) { for (int j = 1;

教你如何用python和pygame制作一个简单的贪食蛇游戏,可自定义

风流意气都作罢 提交于 2020-02-02 09:54:30
1.效果图 2.完整的代码 #第1步:导出模块 import pygame, sys, random from pygame.locals import * # 第2步:定义颜色变量,在pygame中采用的color是三色原RGB的数值法 # 目标方块儿红颜色 redColor = pygame.Color(255, 0, 0) # 背景颜色为黑色 pinkColor = pygame.Color(255, 192, 203) #黑色:0,0,0 #粉红色=pink=(255, 192, 203) # 蛇颜色为白色 whiteColor = pygame.Color(255, 255, 255) # 第3步:定义游戏结束 def gameOver(): pygame.quit() sys.exit() # 第4步:定义main函数 定义入口函数 def main(): # 初始化pygame,很关键 pygame.init() # 定义一个变量 控制速度 fpsClock = pygame.time.Clock() # 创建一个窗口界面及大小 playSurface = pygame.display.set_mode((640, 480)) pygame.display.set_caption('<-自定义贪吃蛇->DIY') #游戏标题 # 初始化目标方块的位置

基础学习笔记之opencv(24):imwrite函数的使用

断了今生、忘了曾经 提交于 2020-02-01 20:14:59
http://www.cnblogs.com/tornadomeet/archive/2012/12/26/2834336.html   前言   OpenCV中保存图片的函数在c++版本中变成了imwrite(),这应该是向matlab中图像处理的的一些函数风格靠近吧。保存图片这个功能还是很重要的,比如说在写科研论文的时候需要把一些中间图片给贴出来,这样就可以在程序中间利用该函数保存图片了。甚至还可以将这些保存的图片供后续的matlab处理。本文就简单介绍下OpenCV中imwrite()函数的用法。不过个人感觉这个函数功能还是不够强大,使用时有很多限制。   开发环境:QtCreato2.5.1+OpenCV2.4.3    实验基础   本次实验主要是测试imwrite()函数的2个功能:   1. 测试其是否能够保存Mat图像中截取的一部分图像,比如说用Rect矩阵截取大的图像中的一部分,由于此时两者只是用了自己的文件头,数据是共享的(没有采用copyTo()函数或者clone()函数复制),所以这种测试想法很正常。   2. 测试imwrite()函数的第3个参数的使用。   在针对第1个测试时,是给定一张原图,截取一部分,然后保存。针对第2个功能是采用OpenCV官网文件中的一个例子,创建一个alpha表,然后保存为png格式的图片,压缩参数自设定。  

双缓冲 图像显示

时光总嘲笑我的痴心妄想 提交于 2020-02-01 00:32:04
原文出自: http://blog.csdn.net/xiaohui_hubei/article/details/16319249 一、双缓冲作用 双缓冲甚至是多缓冲,在许多情况下都很有用。一般需要使用双缓冲区的地方都是由于“生产者”和“消费者”供需不一致所造成的。这样的情况在很多地方后可能会发生,使用多缓冲可以很好的解决。我举几个常见的例子: 例 1 . 在网络传输过程中数据的接收,有时可能数据来的太快来不及接收导致数据丢失。这是由于“发送者”和“接收者”速度不一致所致,在他们之间安排一个或多个缓冲区来存放来不及接收的数据,让速度较慢的“接收者”可以慢慢地取完数据不至于丢失。 例2. 再如,计算机中的三级缓存结构:外存(硬盘)、内存、高速缓存(介于CPU和内存之间,可能由多级)。从左到右他们的存储容量不断减小,但速度不断提升,当然价格也是越来越贵。作为“生产者”的 CPU 处理速度很快,而内存存取速度相对CPU较慢,如果直接在内存中存取数据,他们的速度不一致会导致 CPU 能力下降。因此在他们之间又增加的高速缓存来作为缓冲区平衡二者速度上的差异。 例3 . 在图形图像显示过程中,计算机从显示缓冲区取数据然后显示,很多图形的操作都很复杂需要大量的计算,很难访问一次显示缓冲区就能写入待显示的完整图形数据,通常需要多次访问显示缓冲区,每次访问时写入最新计算的图形数据

Python全栈(四)高级编程技巧之2.类与对象深度问题与解决技巧

我怕爱的太早我们不能终老 提交于 2020-01-31 03:47:29
文章目录 一、派生内置不可变类型并修改其实例化行为 二、创建大量实例节省内存 三、Python中的with语句 四、创建可管理的对象属性 五、类支持比较操作 六、环状数据结构中管理内存 一、派生内置不可变类型并修改其实例化行为 引入: 我们想自定义一种新类型的元组,对于传入的可迭代对象,我们只保留其中int类型且值大于0的元素,例如: IntTuple([2,-2,'jr',['x','y'],4]) => (2,4) 如何继承内置tuple 实现IntTuple? 自定义IntTuple: class IntTuple ( tuple ) : def __init__ ( self , iterable ) : for i in iterable : if isinstance ( i , int ) and i > 0 : super ( ) . __init__ ( i ) int_t = IntTuple ( [ 2 , - 2 , 'cl' , [ 'x' , 'y' ] , 4 ] ) print ( int_t ) 打印 Traceback ( most recent call last ) : File "xxx/demo.py" , line 7 , in < module > int_t = IntTuple ( [ 2 , - 2 , 'cl' , [ 'x'

推箱子 后续

五迷三道 提交于 2020-01-30 04:42:42
前言 既做了雏形,不稍微完善一点心里总有点小疙瘩。 效果图 补充说明 1、游戏通关通过rect判断而不是碰撞(两个终点) 2、增加人物行走的动作(布尔标志位) 3、箱子覆盖于终点之上有特殊颜色(image_alt) 4、选素材用心了些 源代码 import tkinter as tk import pygame import time import numpy as np import sys from PIL import ImageTk,Image,ImageGrab from tkinter import StringVar,IntVar,messagebox,Radiobutton #屏幕大小的常量 SCREEN_RECT = pygame.Rect(0,0,640,640) #刷新的帧率 FRAME_PER_SEC = 60 #墙体 class GameSprite(pygame.sprite.Sprite): #(继承父类) 其中sprite是模块 Sprite是类名称 '''精灵基类''' #构造函数/初始化 image_name = 0 def __init__(self,image_name,x=0,y=0,z=1): self.move_num = 0 self.leftorright = True #调用父类初始化方法 super().__init__()

python opencv人脸检测

六眼飞鱼酱① 提交于 2020-01-30 02:26:10
安装opencv pip install opencv-python 人脸检测器的配置文件 链接: https://pan.baidu.com/s/10Gd9ZR7kaNIQaQM2I6TKEA 提取码: vtrs 代码 import cv2 capture_index = 0 def main(): # 分类器 haar = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 摄像头 cap = cv2.VideoCapture(capture_index) # 读取 while True: success, img = cap.read() if not success: continue faces = haar.detectMultiScale(img) print("检测到人脸%d个" %len(faces)) cv2.namedWindow("image") # 保存人脸坐标 face_rects = [] for x,y,w,h in faces: face = [] face.append(x) if x>0 else face.append(0) face.append(y) if y>0 else face.append(0) face.append(x+w) face.append(y

OpenCV中基本数据结构(4)_Rect

一曲冷凌霜 提交于 2020-01-29 22:18:49
Rect数据结构经常是在OpenCV中被用来表示为一个矩形尺寸,其成员包括x,y, width,height,其中x和y分别表示矩形框的左上角的起始点坐标,width和height分别表示宽和高。 Rect OpenCV中预定义好的几种Rect,用来支持不同的数据类型: Rect2i:整型int Rect2f: float Rect2d: double 源代码定义如下: 其中Rect与Rect2i相同都是整型,实现主要依靠的是Rect_类 和Size,Point类似 Rect_类 Rect_类主要如下: 总结如下: Method Description Rect_() 默认构造函数 cv::Rect r; cv:Rect2f rf; cv::Rect2d rd Rect_(const Rect_& r) copy构造函数 Rect_(_Tp _x, _Tp _y, _Tp _width, _Tp _height) 带参数构造函数 x,y为矩形的左上角坐标点 _width,_height分别为宽和高 Rect_(const Point_<_Tp>& org, const Size_<_Tp>& sz) 根据一个点和Size构造Rect org:为矩形左上角 sz:为矩形宽和高 Rect_(const Point_<_Tp>& pt1, const Point_<_Tp>& pt2)