多尺度图片滑动窗口输出裁剪
简介
上一篇介绍了多尺度图片滑动窗口输出,如果要在新win窗口下显示当前的滑动窗口图片,那么怎么设置呢?或者将滑动窗口的图片裁剪下来,发现使用
region = (10,0,300,100)#box = (left, top, left+width, top+height),(x0,y0,x1,y1),from W,H
cropImg = img.crop(region)
这样的命令,不成功,numpy has no crop,后来发现先拷贝一份img的数据,使用
cropImg_clone = resized.copy()
注意,其所对应的W、H
cropImg = cropImg_clone[y: (y + winH),x:(x + winW)]#H,W
代码
'''
Created on 2017年8月19日
@author: XT
'''
# import the necessary packages
import helpers
import time
import cv2
# load the image and define the window width and height
image = cv2.imread('../image/cat2.jpg')
(winW, winH) = (200, 128)
i = 0
# loop over the image pyramid
for resized in helpers.pyramid(image, scale=1.5):
# loop over the sliding window for each layer of the pyramid
for (x, y, window) in helpers.sliding_window(resized, stepSize=32, windowSize=(winW, winH)):
# if the window does not meet our desired window size, ignore it
if window.shape[0] != winH or window.shape[1] != winW:
continue
# THIS IS WHERE YOU WOULD PROCESS YOUR WINDOW, SUCH AS APPLYING A
# MACHINE LEARNING CLASSIFIER TO CLASSIFY THE CONTENTS OF THE
# WINDOW
# since we do not have a classifier, we'll just draw the window
clone = resized.copy()
cropImg_clone = resized.copy()
cv2.rectangle(clone, (x, y), (x + winW, y + winH), (0, 255, 0), 2)
cropImg = cropImg_clone[y: (y + winH),x:(x + winW)]#H,W
cv2.imshow("Window", clone)
cv2.imshow("cropImg", cropImg)
cv2.waitKey(1)
#write
# WinName = "Layer {}".format(i + 1)
# cv2.imwrite('./'+WinName+'.jpg',clone)
# i += 1
time.sleep(0.125)
效果
参考
【1】多尺度图片滑动窗口输出 - Alex_XT的博客 - CSDN博客
http://blog.csdn.net/u011463646/article/details/77417049
智能推荐
滑动窗口
滑动窗口 滑动窗口可以看成数组中框起来的一个部分。在一些数组类题目中,我们可以用滑动窗口来观察可能的候选结果。当滑动窗口从数组的左边滑到了右边,我们就可以从所有的候选结果中找到最优的结果。 例题 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 思路 对于这道题来说,数组就是正整数序列 [...
滑动窗口
滑动窗口 最近参加有个大公司(非BAT)的线上笔试,发现这个公司以往的面经以及笔经,滑动窗口他们似乎非常重视,既然我参加了他们的笔试,对他们公司更加的了解,也是对自己遗漏欠缺的知识进行一个补充。 其实但从力扣上看一下关于滑动窗口的题的出现率应该就能懂些什么了吧 滑动窗口的知识点非常重要!!!这也是我认识到之后特地写的这一篇文章 首先我们先了解一下滑动窗口的概念吧,毕竟我...
VUE给动态生成的el-checkbox添加v-model
需求描述:根据返回的数据,页面动态for循环添加el-checkbox,动态绑定v-model; html代码: tabList数据格式: 之前的错误做法: 开始以为这样就可以了,毕竟在el-checkbox上用item.status绑定v-model,后面发现checkbox点击的时候并没有更新; 解决方案: 官方文档...
猜你喜欢
[UE4]蓝图和C++调用自定义函数
1、C++自定义方法,蓝图调用 UFUNCTION宏是处理将C++函数暴露给反射系统的一些事情,参数BlueprintCallable意味着这个函数可以在蓝图中调用,而后面的目录是必须有的,这样在蓝图中右键点击的时候,我们就可以根据这个目录找到我们需要的函数。 2、蓝图定义方法,C++调用 当我们在蓝图中定义了一系列操作后,我们也想用C++调用,我们利用BlueprintImplementable...
Redis--2.Jedis的介绍和使用
一.概念 Jedis是Redis官方推荐使用的的一个Java连接开发的工具(中间件)。 Jedis主要是集成了redis的一些命令操作,封装了redis的java客户端。 使用Jedis操作Redis数据库,就相当于使用JDBC操作sql_server、Mysql数据库。 二.两种连接方式 1.Jedis对象直连Redis Jedis对象直连方式可以分为五个步骤: 1、导入Jedis的jar包 2...
选择图片上传之后,图片旋转问题解决方案(前端)
图片上传之后,显示为什么会是旋转的呢? 这就要说到图片的 exif 简单来说,Exif 信息就是由数码相机在拍摄过程中采集一系列的信息,然后把信息放置在我们熟知的 JPEG/TIFF 文件的头部,也就是说 Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,它就好像是相机的日期打印功能一样,只不过 Exif信息所记录的资讯更为详尽和完备。Exif 所记录的元数据信息非常丰富,主...
ApplicationContextAware如何装配applicationcontext
首先看通过实现ApplicationContextAware接口获得applicationcontext的方法: 要知道ApplicationContextAware首先要了解ApplicationContextAwareProcessor ApplicationContextAwareProcessor继承了BeanPostProcessor,即在bean实例化的时候会调用postProcess...
[BZOJ1013][JSOI2008]球形空间产生器sphere(高斯消元)
题目: 我是超链接 题解: 根据题目给出的信息,我们列柿子 (a1−x)2+(b1−y)2=r2(a1−x)2+(b1−y)2=r2 (a2−x)2+(b2−y)2=r2(a2−x)2+(b2−y)2=r2 (a3−x)2+(b3−y)2=r2(a3−x)2+(b3&...
