好好学习,走出宿舍,走向毕设!
一些心路历程记录,很少有代码出现
因为鬼知道哪条代码到时候变成毕设的一部分了咧,还是不要给自己的查重挖坑罢了
早上师兄帮忙看了一眼我画的丑图,说样子应该是对的,增加了检查的精度(0.01mm),把检查的范围缩小到了2个颗粒间距左右(0-2mm),这个趋势,就和论文中的图片很像啦
论文中的参考图:
我画的图:
图片的归一化还没做,先放着吧.
至于检验,老板很急想知道结果,于是上午的时间就用来做这个。
简单来说,就是把昨天说的那俩峰值的横轴相乘,然后结果应该约等于2π(因为波矢的性质,k=2π/λ)
我估算的基准,在于用图上距离比实际距离,即将pixel转为mm进行估算
不过昨天老师说了,可以全部用pixel,就别换毫米了,因此需要一些反向操作
我思考到的解决办法,是直接利用图片进行径向分布函数的处理。下午和晚上着重写这个的代码
用到的函数:
cv2.connectedComponents()
连通域处理函数
python最大的魅力就在于,有大佬们写好的安装包,芜湖
skimage.measure.regionprops()
regionprops函数用法
着重查看其中寻找质心的部分,非常有用
呃,画了,贼不准。
学长帮忙检查了问题之后,发现是因为对图像做的处理,所以导致精度只能以1pixel为基准,因此产生了误差
放一段边缘计算→质心检测的代码:
import cv2
from skimage.measure import regionprops
from PIL import Image, ImageDraw, ImageFont
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math#用canny进行边缘检测
img = cv2.imread("D:\\230301\\2000_0_plt.png", cv2.IMREAD_COLOR)
r1=cv2.Canny(img,128,200)#获取质心
ret, labels = cv2.connectedComponents(r1)props = regionprops(labels)#测量标记的图像区域的属性。l = []#粒子的坐标集合
for i in props:l.append([i.centroid[-1], i.centroid[0]])
摸了,主要就是自己的部分没咋做,写了几个很暴力的循环,把lammpstrj文件转换为了一堆csv→把csv转成图片→把图片放进Pr,变成视频→按照60帧/s进行加速,导出最终的视频
下一篇:LVQ算法