提取图中激光位置的坐标

提取图中激光位置的坐标
如上图,本图是在显微镜下拍摄的图片,图中的亮点是激光所在的位置,我本来是想用C++和OpenCV来找出图中激光所在的位置,后来在老师的点拨下,采用了Python处理。把图片看成一个矩阵,这样操作起来更简单,也更准确。
言归正传,直接看程序。
“””
Created on Thu Jul 27 15:36:22 2017

@author: WYH
“”“

from PIL import Image
import numpy as np
import pylab as pl
import heapq
name=”C:/Users/WYH/Desktop/7.png”
im=np.array(Image.open(name).convert(‘L’))
pl.gray() #把原图转化为灰度图
B1=np.float64(im) #把像素值转换为浮点数
B2=np.where(B1>248,1,0) #将灰度图转化为二值图像,阈值为248

C=list(np.sum(B2,axis=0))
D=list(np.sum(B2,axis=1)) #将每一行求和得数组1,将每一列求和得数组2
Xmax1=heapq.nlargest(1,C)
x=C.index(Xmax1) #求出最大值处的坐标
Ymax1=heapq.nlargest(1,D)
y=D.index(Ymax1)
print(“这一点的x、y坐标分别为 “,x,y)
print(B1[y,x])
pl.imshow(B2)
pl.show()

这段代码用Python运行结果如下:
提取图中激光位置的坐标
提取图中激光位置的坐标
Python是如此的方便,如此的有趣,希望在以后的学习中能把它熟练掌握。