1.实现效果:

b87d2e797e42770912cd8ac5ad44b1e2.png

左边是Python代码的运行界面。可以看到在输出行有[249 221 187]三个数字,因为我在右侧的图片上点击了某个区域,因此就输出了所点击区域的RGB颜色。RGB颜色就是三原色,三原色进行搭配可以形成任意颜色(和画画的调色板一样)。因此我采用这种方式来描述颜色。下面讲述具体的Python代码。

2.Python是啥?

一种很强的编程语言,我觉得它最大的特点是简单。Python比较适合图像处理和科学运算,这是因为它有强大的第三方库,标题中提到的OpenCV就是Python的一个第三方库。实际上我们也可以使用C/C++或者Java来实现这个项目,不过那样做代码量就很多了,而且你会在很多细节上面浪费时间。使用Python进行这个实现可以让我们专注于更多有价值的事情上。如果想要看Python的一些语法,可以自行上网查,异或浏览我之前发的日志。

3.安装和配置Python的运行环境

首先我们要安装Python。注意,Python有Python2和Python3两个版本,而且这两个版本根本不兼容。本实现采用的是Python3.

进入https://www.python.org网站。网站界面大致是这样的:

49f05269d817d1459ff25bd3319c4d11.png

注意导航栏有个Download选项。我们直接点击这个选项。

7073c48729d6f0d7341ded138137f5b5.png

点击之后出现Python的各个版本。我们选择3.7.1的版本,然后会蹦出一个新的界面。这个时候我们直接把界面拉到最下面。

a0c9d64dcc8ac004a79cbbe027e971ca.png

网页最下面这些是Python3.7.1在各操作系统上的版本。一定要根据自己的操作系统选择合适的版本。如果你是Win10,那么就选择Windows x86-64 executable installer选项,如果你是macOS,就应该选择macOS 64-bit/32-bit installer或者macOS 64-bit installer。x86代表32位操作系统,64代表64位操作系统。想知道详细的版本细节请自行百度,不过最好是别管这么多,按照我说的去安装就行了。

注意:安装Python的目录一定要记住,后面还有用的。另外,安装目录一定不要带有中文,否则你还要重装。

4.检测是否安装成功

我们打开命令行

df371fcf8055fc4234ffa0efd5c73a2f.png

在这里输入dos或者powerShell,打开win10的命令行。效果如下:

50a83c73d65d16d3592f4a4d20c252f3.png

我们在命令行中输入Python,看看结果如何。

b330d6adc02806a97d9db90c985f6169.png

为什么Python不是内部或外部命令?我们刚刚不是已经安装了Python吗?

其实这是因为没有设置环境变量。不懂什么是环境变量也没关系,我这里一步一步的进行说明。

有的童鞋可能输入Python就直接成功了,这是因为你在安装的时候系统帮你配置了环境变量,这个时候你可以直接跳过环境变量配置的说明。如果出现了我上面讲的错误,那么继续跟着我下面的教程走。

刚刚我安装的时候提示各位要记住安装的目录,这是因为要用这个目录来配置环境变量。Python在我自己的电脑上安装目录为C:Program Files (x86)Microsoft Visual StudioSharedPython37_64。打开这个目录,里面的内容大致是这样的:

340ebf52ca4dbf431cb33e38074bd6a6.png

然后我们复制这个目录名,也就是C:Program Files (x86)Microsoft Visual StudioSharedPython37_64。注意,Python在你自己的电脑上安装的目录可能不是这个,因此不能原样照搬,你得找到Python安装在你自己电脑上的位置,然后把目录复制。

接下来打开“我的电脑”

fc78e58a69f2eae0ec020307879eae6d.png

直接右键点击“此电脑”,选择“属性”。然后你就打开了这样一个界面:

06ae76a34e88bc12df884d44ab34b4fe.png

看见左侧的导航栏了吗?点击其中的“高级系统设置”。打开如下的界面。

5b3ce2aa2cd7f20e1c1aae88d0b96060.png

这个界面的右下角有一个“环境变量”。点击它。进入如下界面:

75b07a020835a20c0ad742c51b7301bb.png

你会发现有上下两个变量框。选择下面“系统变量”中的path

574d7e1f56658e62b0c990deaa9f6c59.png

点击编辑。进入环境变量的编辑界面

6dabdb42737ee7e49feb7a95300ed0b5.png

注意右上角有一个“新建”按钮。点击它,新建一个环境变量。这个新建的环境变量内容就是刚刚复制的Python安装目录。注意,在配置Python环境变量的时候一共要新建两个环境变量,例如我的是C:Program Files (x86)Microsoft Visual StudioSharedPython37_64和C:Program Files (x86)Microsoft Visual StudioSharedPython37_64Scripts

环境变量配置完毕之后一路点击确定退出环境变量的配置界面。不要点取消或者叉叉,那样会导致配置的环境变量无效。

配置完成之后我们在命令行再次输入Python,看看效果如何:

dad32386332e60db19bb51222d23ed21.png

显示了Python的版本号,那么这个就是安装成功了。你会看到下面出现>>>的标志,你可以直接在后面输入Python指令。例如:

7c2b5da0e14bb93d86927bf1c42f71e2.png

在命令行输入eval(‘3+4’),输出结果7。eval是Python的一个函数,如果对Python语法不了解可以去看饿哦之前发的日志,里面有较为详细的语法说明。

5.安装Pycharm

Pycharm是Python的一个IDE,因为直接在命令行写Python效率太低,而且容易出错。暗示Pycharm安装非常简单。我这里给出网址:https://www.jetbrains.com/pycharm/,打开页面之后是这个样子:

65562e8b5a6ccb4fd4578071a8e48ea9.png

大大的DownLoad写在屏幕中央,生怕你看不到呢。

安装那也是傻瓜式安装,你就一直点确定就好了,没什么难的。

6.新建Pycharm项目

我觉得这个可以直接百度“使用Pycharm创建Python项目,因此我就不赘述了”。

7.Pycharm导入OpenCV第三方库

OpenCV是Python的第三方库,用来进行图像处理的。实际上这种事情可以直接使用命令行完成,但是既然下载了Pycharm那总得用啊。那么我说一下怎么导入Opencv。

点击左上角的file,选择下拉菜单中的settings

e0fac0ad6c9723a9e899f3e67cafdeb1.png

然后在设置中查找一个叫做Project Interpreter的选项,如下图所示

acf957b19ca74a351cdb300727f9fdc8.png

6858a74f18406d341c12163745ad5424.png

我在图片中用红色的方框标记了一个加号。没错,接下来要点击这个加号。计入如下的界面:

a1993690abe9245770790c210b99d41f.png

在最上方的搜索框中写入opencv-python,找到之后点击下载。下载完成之后你就可以使用这个库了。

8.具体代码

import cv2

# 加载图片

'''

cv2.imread()函数用来读取图片。

第一个参数是图片的路径

第二个参数是图片的读取方式,分为以下三种:

cv2.IMREAD_COLOR: 载入彩色的图片,忽略透明度

cv2.IMREAD_GRAYSCALE: 载入灰度图

cv2.IMREAD_UNCHANGED: 。阿尔法通道(α Channel或Alpha Channel)是指一张图片的透明和半透明度,有8个比特可以有256种不同的数据表示可能性。

'''

def getPosRGB(event, x, y, flags, param):

if event == cv2.EVENT_LBUTTONDOWN:

print("RGB: ", img[y, x])

# 注意,imread函数的路径参数不能包括中文,否则一定会报错

img = cv2.imread(r"D:coding1picturesback.jpg")

# 展示图片

cv2.imshow('image', img)

cv2.setMouseCallback('image', getPosRGB)

cv2.waitKey(0)

9.我就不讲为什么这么写代码了,一方面我写了注释,还有就是我之前的日志详细记录了Python的语法,各位可以去看一下。接下来我展示一下执行效果:

a4260b31c9457e52fee825e8c1c5e08d.png

如果我在图片中点击一个区域,那么代码就会输出这个区域的颜色。

至此。项目实现完毕。

过几天我来讲怎么使用C/C++实现同样的效果,以及如何配色。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐