Skip to content

实现图书上绿色区域的提取

一、os模块

os.listdir() 概述 os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 . 和 … 即使它在文件夹中。

os.listdir(path) 参数: path – 需要列出的目录路径

返回值: 返回指定路径下的文件和文件夹列表。

二、cv2.inRange函数

1.概述

作用:设阈值,去除背景部分

mask = cv2.inRange(hsv, lower_red, upper_red)

第一个参数:hsv指的是原图

第二个参数:lower_red指的是图像中低于这个lower_red的值,图像值变为0

第三个参数:upper_red指的是图像中高于这个upper_red的值,图像值变为0

lower_red = np.array([20, 20, 20])
upper_red = np.array([200, 200, 200])

2.报错

The lower bounary is neither an array of the same size and same type as src, nor a scalar in function inRange

原图与规定区域类型不同(即第一个参数和第二个参数的类型不一样)

三、位运算

1.概述 位运算是在二进制位级别上进行的操作,这些操作直接对整数的位进行操作。在图像处理中,这些操作通常用于处理图像的像素值(在灰度图像中,像素值通常是0-255的整数)。

2.以下是几种常见的位运算:

(1)按位与(bitwise_and) 按照二进制位进行判断,只有当两幅图像的对应像素值都为1时,结果图像的对应像素值才为1,否则为0。常用于图像融合、掩码操作等场景。

(2)按位或(bitwise_or) 按照二进制位进行判断,如果同一位的数组都是0,则运算结果的相同位数据取0,否则取1。

(3)按位取反(bitwise_not) 将数值根据每个bit位1变0,0变1。

3.示例

dst = cv2.bitwise_and(src1, src2[, dst[, mask]])

只提取掩码区域

GitHub上传项目

1.在GitHub上新建一个仓库

2.填写仓库信息

3.复制

4.右键需要上传的项目

5.输入git init,在当前目的目录生成本地的git管理(会发现在当前目录下多一个.git文件夹

6.输入git add .

将项目上所有文件添加到仓库中

如果想添加某个特定的文件,只需把"."换成特定的文件名即可

git status

查看当前仓库的提交状态(可以忽略,只是查看提交到本地的代码是否成功)

7.git commit -m"提交信息"(提交信息就是项目说明)

9.最后输入命令git push -u origin master(此操作的目的是把本地仓库push到GitHub上面,此步骤需要输入登录GitHub的账户和密码)

产生报错:由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。

执行第二个指令解决问题

解决后再次执行指令一

10.上传成功

.1