• I'm trying to make an indoor navigation and I need indoor map that robot can automatically navigate the way. I'm thinking of using image which have different colors for each place(certain section), an...
I'm trying to make an indoor navigation and I need indoor map that robot can automatically navigate the way. I'm thinking of using image which have different colors for each place(certain section), and I want to know the way to get the coordinates of the certain colors. So that I can designate places to certain color area using that coordinates. I am currently using pycharmHow can I get the coordinates of each of the pink,purple, and yellow part?RGB code of the colors are pink(255,128,255), yellow(255,255,0), purple(128,128, 255).解决方案The solution to your problem will involve two main parts:Detecting the color from input imageConverting the blob to a single coordinate.Let's take the first problem. You can use cv2.inRange() with various colors, to get a binary mask for each of your marked squares in the input image.Now you can use cv2.findContours on the binary mask(s) to detect the largest contour and the take it's mid-point or something.
展开全文
• 设计说他弄好了，运营上传打点后的模板图片时，获取不到打点的位置坐标。于是找研发看是怎么回事，就有了下面的代码。涛哥解决这个问题1、判断设计给模板图片打点的位置和数量是否正确2、判断打点的颜色值是否正确...
本文背景：公司项目的广告系统有个功能，给图片模板打指定的颜色值点，根据需要拼合的图片数量，打点数量也不同。设计说他弄好了，运营上传打点后的模板图片时，获取不到打点的位置坐标。于是找研发看是怎么回事，就有了下面的代码。涛哥解决这个问题1、判断设计给模板图片打点的位置和数量是否正确2、判断打点的颜色值是否正确解决办法一：使用ubuntu的gnu图片处理软件打开模板图片，放大就可以看到打点像素位置颜色，再用吸管就能知道打点位置颜色是否正确，打点的位置和数量也一目了然。解决办法二：码农自然可以写代码解决，好吧，写段python来解决这个问题吧checkPic.pyPython#!/usr/bin/python# -*- coding:utf-8 -*-from PIL import Image# 涛哥用代码看是那的错 https://blog.kydbk.comimg = Image.open("test.png")# 获取图片尺寸的大小(600,600)print img.size# 获取图片的格式 pngprint img.format# 获取图片的图像类型 RGBAprint img.mode# 显示图片img.show()# 获取某个像素位置的值print img.getpixel((126, 52))# 生成缩略图# img.thumbnail((128, 128))# 保存图片# img.save('image_thumb.jpg', 'JPEG')"""# 获取图片指定像素点的像素def getPngPix(pngPath = "test.png",x = 1,y = 1):img_src = Image.open(pngPath)img_src = img_src.convert('RGBA')img_array = img_src.load()data = img_array[x,y]img_src.close()return data# 输入当前位置像素 (207,75,90,255)print(getPngPix("test.png",126,52))"""# 判断某像素值是否在图像中# 查找目标色值 (1,1,1,255)# 查找目标色值 (2,2,2,255)# 查找目标色值 (255,250,250,255)i = 1j = 1result = 0break_flag = Falsewidth = img.size[0]#长度height = img.size[1]#宽度for i in range(0,width):#遍历所有长度的点for j in range(0,height):#遍历所有宽度的点#每个像素点的颜色RGBA的值(r,g,b,alpha)data = (img.getpixel((i,j)))#打印该图片的所有点# 判断RGBA的值if (data[0]==255 and data[1]==250 and data[2]==250):# if (data[0]==207 and data[1]==75 and data[2]==90):result = 1print"图片中存在该像素！"break_flag = Truebreakif break_flag==True:breakif break_flag==True:breakif(result == 0):print"图片中不存在该像素！""""data = (img.getpixel((i,j)))#打印该图片的所有点print (data)#打印每个像素点的颜色RGBA的值(r,g,b,alpha)print (data[0])#打印RGBA的r值if (data[0]>=170 and data[1]>=170 and data[2]>=170):#RGBA的r值大于170，并且g值大于170,并且b值大于170img.putpixel((i,j),(234,53,57,255))#则这些像素点的颜色改成大红色img = img.convert("RGB")#把图片强制转成RGBimg.save("e:/pic/testee1.jpg")#保存修改像素点后的图片"""1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980#!/usr/bin/python# -*- coding:utf-8 -*-fromPILimportImage# 涛哥用代码看是那的错 https://blog.kydbk.comimg=Image.open("test.png")# 获取图片尺寸的大小(600,600)printimg.size# 获取图片的格式 pngprintimg.format# 获取图片的图像类型 RGBAprintimg.mode# 显示图片img.show()# 获取某个像素位置的值printimg.getpixel((126,52))# 生成缩略图# img.thumbnail((128, 128))# 保存图片# img.save('image_thumb.jpg', 'JPEG')"""# 获取图片指定像素点的像素def getPngPix(pngPath = "test.png",x = 1,y = 1):img_src = Image.open(pngPath)img_src = img_src.convert('RGBA')img_array = img_src.load()data = img_array[x,y]img_src.close()return data# 输入当前位置像素 (207,75,90,255)print(getPngPix("test.png",126,52))"""# 判断某像素值是否在图像中# 查找目标色值 (1,1,1,255)# 查找目标色值 (2,2,2,255)# 查找目标色值 (255,250,250,255)i=1j=1result=0break_flag=Falsewidth=img.size[0]#长度height=img.size[1]#宽度foriinrange(0,width):#遍历所有长度的点forjinrange(0,height):#遍历所有宽度的点#每个像素点的颜色RGBA的值(r,g,b,alpha)data=(img.getpixel((i,j)))#打印该图片的所有点# 判断RGBA的值if(data[0]==255anddata[1]==250anddata[2]==250):# if (data[0]==207 and data[1]==75 and data[2]==90):result=1print"图片中存在该像素！"break_flag=Truebreakifbreak_flag==True:breakifbreak_flag==True:breakif(result==0):print"图片中不存在该像素！""""data = (img.getpixel((i,j)))#打印该图片的所有点print (data)#打印每个像素点的颜色RGBA的值(r,g,b,alpha)print (data[0])#打印RGBA的r值if (data[0]>=170 and data[1]>=170 and data[2]>=170):#RGBA的r值大于170，并且g值大于170,并且b值大于170img.putpixel((i,j),(234,53,57,255))#则这些像素点的颜色改成大红色img = img.convert("RGB")#把图片强制转成RGBimg.save("e:/pic/testee1.jpg")#保存修改像素点后的图片"""图片扔目录里直接判断是否颜色打正确了，问题解决…更多待涛哥学习实践总结分享….
展开全文
• PYTHON CV2 图片中鼠标点击获取像素点坐标
PYTHON CV2 图片中鼠标点击获取像素点坐标
# -*- coding: utf-8 -*-
"""
@File    : get_actual_depth.py
@Time    : 2020/11/10 15:22
@Author  : Dontla
@Email   : sxana@qq.com
@Software: PyCharm
"""
import cv2
import numpy as np

count = 15
path = './capture_depth_color_data/2020-11-6_14-56-19/'

def get_actual_depth(count):
depth_img = np.load('{}{}.npy'.format(path, count))

# 图片路径
img = cv2.imread('{}{}.jpg'.format(path, count))

flag = False
a = []
b = []

def on_EVENT_LBUTTONDOWN(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
xy = "%d,%d" % (x, y)
a.append(x)
b.append(y)
cv2.circle(img, (x, y), 1, (0, 0, 255), thickness=-1)  # 绘圆点
cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,
1.0, (0, 0, 0), thickness=1)
cv2.imshow("{}.jpg".format(count), img)
# print(x, y)
print(a[0], b[0])
print(depth_img[b[0], a[0]])

while True:
cv2.namedWindow("{}.jpg".format(count), cv2.WINDOW_NORMAL)
cv2.setWindowProperty("{}.jpg".format(count), cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
cv2.setMouseCallback("{}.jpg".format(count), on_EVENT_LBUTTONDOWN)
cv2.imshow("{}.jpg".format(count), img)
cv2.waitKey(0)
if len(a) > 0:
if depth_img[b[0], a[0]] > 0:
actual_depth = depth_img[b[0], a[0]]
# print(actual_depth)
break
else:
a = []
b = []

np.save('{}{}_actual_depth.npy'.format(path, count), actual_depth)
# a = np.load('{}{}_actual_depth.npy'.format(path, count))

while True:
get_actual_depth(count)
count += 1




展开全文
• 区域像素可以进行处理，我做了一个鼠标选取两，将这块区域置零的操作。 import cv2 import numpy as np img = cv2.imread('C:\\Users\\mimi\\Desktop\\1.jpg') a =[] b = [] def on_EVENT_LBUTTONDOWN(event, x, y...
在图片中，用鼠标点击并返回点击坐标
1. cv2 的办法
区域像素可以进行处理，我做了一个鼠标选取两点，将这块区域置零的操作。
import cv2
import numpy as np
a =[]
b = []
def on_EVENT_LBUTTONDOWN(event, x, y,flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
xy = "%d,%d" % (x, y)
a.append(x)
b.append(y)
cv2.circle(img, (x, y), 1, (255, 0, 0), thickness=-1)
cv2.putText(img, xy, (x, y), cv2.FONT_HERSHEY_PLAIN,
1.0, (0, 0, 0), thickness=1)
cv2.imshow("image", img)

cv2.namedWindow("image")
cv2.setMouseCallback("image", on_EVENT_LBUTTONDOWN)
cv2.imshow("image", img)
cv2.waitKey(0)
print(a[0],b[0])

img[b[0]:b[1],a[0]:a[1],:] = 0   #注意是 行，列（y轴的，X轴）
cv2.imshow("image", img)
cv2.waitKey(0)
print (a,b)

2.plt的方法
不能对图像的像素处理，我做了一个区域置黑的操作没成功，上一个代码可以实现
import matplotlib.pyplot as plt
from PIL import Image

im = Image.open("C:\\Users\\mimi\\Desktop\\1.jpg")
plt.imshow(im, cmap = plt.get_cmap("gray"))
pos=plt.ginput(2)
print(pos)
a=[]
b=[]
for i in range(len(pos)):
a.append(pos[i][0])
b.append(pos[i][1])
print (a,b)
im[a[0]:a[1],b[0]:b[1],:]
plt.imshow(im)



展开全文
• from PIL import Image # 打开要处理的图像 img_src = Image.open('sun.png') # 转换图片的模式为RGBA img_src = img_src.convert('RGBA') ...# 100,100 是像素点坐标 data = src_strlist[...
• 假设是矩形，可以使用^{}为左上角和右下角之间的生成坐标矩阵。在X, Y = np.mgrid[xmin:xmax, ymin:ymax]并用^{pr2}\$编辑：任意形状正如马克·塞切尔指出的，你的问题中没有一个是关于矩形的。在如果要列出任意...
• 代码： import cv2 import numpy as np ...# 图片路径 img = cv2.imread('test.jpg') a = [] b = [] def on_EVENT_LBUTTONDOWN(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: xy = "%d...
• import cv2 import numpy as np #图片路径 img = cv2.imread('031.jpg') a =[] b = [] def on_EVENT_LBUTTONDOWN(event, x, y,flags, param): if event == cv2.EVENT_LBUTTONDOWN: xy = "%d,%d" % (x, y) a.append(x...
• 直接附上代码： import cv2 ...#图片路径 img = cv2.imread('031.jpg') a =[] b = [] def on_EVENT_LBUTTONDOWN(event, x, y,flags, param): if event == cv2.EVENT_LBUTTONDOWN: xy = "%d,%d" %...
• 图像的基本操作在上个教程中，我们介绍了使用鼠标画笔的功能...1.查看和修改像素值我们要想查看一幅图像中某一个像素点的像素值，首先需要进行定位，将其坐标标定，我们先来看一个彩色图像(仍然是我们的猫咪，本次教...
• import cv2 from pylab import * ...如果标图片，请输入2: ") print("您输入的是：", user_input) def video_flag(): frame = 0 cap = cv2.VideoCapture("E:/JYKJ/20200904coal_volume_video/test-6500-20200912-01
• 机器学习笔记之——获取图像中某点坐标 最近在学习做图像分割训练模型时用到了OpenCV这个包，在对图上某部分特征进行批量分割时总是不停的尝试扩大坐标、打印图像检查正确性、缩小、再打印、再重新调整，感觉自己像...
• #获取图片 img = Image.open('1.jpg') #处理图片 img_array = img.load() for x in range(0,200): for y in range(0,200): rgb = img_array[x, y] # 获取一个像素块的rgb r = rgb[0] g = rgb[1] b = rgb[2] if...
• 前言之前用python从没有写过界面，这次涉及到需要获取鼠标单击图片像素的位置，我还以为我得学一下诸如pyqt、tkinter的界面库，后来百度了一下发现OpenCV就能实现此功能。思路使用OpenCV，定义一个供...
• 在很多时候进行图片处理深度学习都需要知道坐标，再此以获取照片的地址做一个例子，讲述一种通过鼠标获取像素点的方法 必须清楚：这个方法只能在python idle上实现，不能用jupyter notebook打开的（亲测过）。 ...
• 双击鼠标左键，获取图像坐标坐标点在图像中用绿色标注，并返回对应坐标的RGB值 ''' def on_EVENT_LBUTTONDOWN(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDBLCLK: print("coordinate:(%d,%d...
• OpenCV 鼠标点击获取像素坐标 写入txt文件前言直接上代码使用步骤总结系列文章OpenCV图片批量处理OpenCV 鼠标点击获取像素坐标 写入txt文件 （就是本文） 前言 学习计算机视觉的过程中，需要从txt读取像素坐标点，...
• 实现步骤读取图像，获取图像每个像素点的RGB值；根据每个像素点的RGB值设置excel每个方格的颜色值；根据像素点坐标，写入excel文件；保存退出；示例代码from PIL import Imageimport numpy as npimport time...
• 代码 先上代码链接： ...功能说明 摄像头校准：内参，外参获取，测试...获取外参标记的世界坐标像素坐标 使用PNP算法获取相机畸变系数 根据得到的参数做还原和坐标系转换 代码使用tkinter写成了一个小工具，有兴趣的
• 实现步骤读取图像，获取图像每个像素点的RGB值；根据每个像素点的RGB值设置excel每个方格的颜色值；根据像素点坐标，写入excel文件；保存退出；示例代码from PIL import Imageimport numpy as npimport time...
• 实现步骤读取图像，获取图像每个像素点的RGB值；根据每个像素点的RGB值设置excel每个方格的颜色值；根据像素点坐标，写入excel文件；保存退出；示例代码from PIL import Imageimport numpy as npimport time...
• 本文主要介绍了关于利用python图片转换成excel文档的相关内容，编写了一小段Python...实现步骤读取图像，获取图像每个像素点的RGB值；根据每个像素点的RGB值设置excel每个方格的颜色值；根据像素点坐标，写入exc...
• 实现步骤读取图像，获取图像每个像素点的RGB值；根据每个像素点的RGB值设置excel每个方格的颜色值；根据像素点坐标，写入excel文件；保存退出；示例代码from PIL import Imageimport numpy as npimport time...
• 读取图像，获取图像每个像素点的RGB值； 根据每个像素点的RGB值设置excel每个方格的颜色值； 根据像素点坐标，写入excel文件； 保存退出； 示例代码 from PIL import Image import numpy as np import time ...
• 读取图像，获取图像每个像素点的RGB值； 根据每个像素点的RGB值设置excel每个方格的颜色值； 根据像素点坐标，写入excel文件； 保存退出； 示例代码 from PIL import Image import numpy as np import time import...
• 矩阵的前两维用于存储像素坐标点，第三维是一个数组，数组用于存储颜色通道2.获取像素值：获取某一点的像素值，可以直接查询这个三维矩阵的对应像素坐标的值例：print img[200，200]3.修改像...

python 订阅