OpenCV-Python图像感兴趣区域处理
简介有时我们只对一张图像中的部分区域感兴趣,而原图像又比较大,如果带着非感兴趣区域一起处理会占用大量的内存,因次我们希望从原图像中截取部分图像后再进行处理。我们将这个区域称为感兴趣区域(Region Of Interest, ROI),Python中的ROI可以通过NumPy中的索引实现。
示例:
# -*- coding: utf-8 -*-
# Data: 2023/7/2
import cv2
img1 = cv2.imread("./1-1.jpg",cv2.IMREAD_UNCHANGED)
# 提取图片感兴趣区域(提取150行到400行,400列到750列作为感兴趣的区域)
face = img1[150:400,400:750]
# 改变感兴趣区域的像素值
face[0:100,0:100] = (255,0,0)
cv2.imshow("face",face)
cv2.imshow("img",img1)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行效果:
从上面可以看出,修改了提取的感兴趣区域的值,结果原图值发生了改变,说明发生了数据的浅拷贝。如果要进行深拷贝,可以使用
# -*- coding: utf-8 -*-
# Data: 2023/7/2
import cv2
import numpy as np
img1 = cv2.imread("./1-1.jpg",cv2.IMREAD_UNCHANGED)
# 提取图片感兴趣区域
face = img1[150:400,400:750]
face_copy = face.copy()
# 改变感兴趣区域的像素值
face_copy[0:100,0:100] = (255,0,0)
# 将感兴趣区域放到原图中
img1[0:250,0:350] = face_copy
# 将感兴趣区域放到另一个图片中
img2 = cv2.imread("./1-2.jpg",cv2.IMREAD_UNCHANGED)
img2[0:250,0:350] = face_copy
cv2.imshow("face",face_copy)
cv2.imshow("img",img1)
cv2.imshow("img2",img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行效果如下:

uptime命令可以输出当前系统的时间、系统开机到现在的运行时间、目前多少用户在线和系统平均负载等信息
有时候当服务器出现流量出入过高的时候,需要去如何排查是哪些进程在使用,本文主要记录如何通过相关命令来进行排查。
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。
前一章节我们介绍了Redis的持久化RDB,它持久化的数据文件存放在默认文件名为dump.rdb的文件中。本节我们将进行探究RDB文件的格式是怎样的?Redis是如何以二进制的形式来存放数据的?
这两天一直遇到一个问题,就是Echarts如果放在一个默认隐藏的div元素中,后面再显示这个div,但是图标不出来,找了很多博客,原来是高度没有设置。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题