oma*_*qIX 5 python scipy scikit-image
I\xc2\xb4m 尝试使用测量配置文件来检测一系列管中的荧光,因此我编写了以下代码
\n\nimport numpy as np\nimport matplotlib.pyplot as plt\nfrom scipy import ndimage\nfrom skimage.measure import profile_line\nimport os\nimport argparse\nimport string \nfrom PIL import Image\n\n\nplt.rcParams[\'font.size\']=16\nplt.rcParams[\'font.family\'] = \'sans-serif\'\n\n\nap = argparse.ArgumentParser()\nap.add_argument("-i", "--image", required=True, help="Path to the image")\nargs = vars(ap.parse_args())\nimagen = Image.open(args["image"]) \nimagename=args["image"] \n\nimg = np.array(imagen)\n\n#profile position\nstart=(0,35)\nend=(1300,35)\n\n#profile_line\nprofile = profile_line(img,start,end, linewidth=5)\nfig, ax = plt.subplots(2,1,figsize=(15,9))\nax[0].imshow(imagen, cmap=plt.cm.gist_earth, interpolation=\'gaussian\',origin=\'lower\',alpha=1)\nax[0].plot([start[0],end[0]],[start[1],end[1]],\'r-\',lw=3)\nax[1].plot(profile)\nax[1].set_title(\'data points = \'+str(profile.shape[0])+\'\')\nplt.tight_layout()\nplt.savefig("scipy.jpg")\nRun Code Online (Sandbox Code Playgroud)\n\n但我得到了
\n\n\n\n\n根据 @MarkSetcell 告诉我交换 x 和 y 问题就解决了
我需要在子图方向上做一些工作,但看起来相当不错的解决方案
PS:重做
import matplotlib
matplotlib.use("Agg")
import numpy as np
import matplotlib.pyplot as plt
from scipy import ndimage
from skimage.measure import profile_line
import os
import argparse
import string
from PIL import Image
plt.rcParams['font.size']=6
plt.rcParams['font.family'] = 'sans-serif'
ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True, help="Path to the image")
args = vars(ap.parse_args())
imagen = Image.open(args["image"])
imagename=args["image"]
img = np.array(imagen)
start=(35,0)
end=(35,1300)
profile = profile_line(img,start,end, linewidth=2)
fig, ax = plt.subplots(2,1)
major_ticks = np.arange(0,1350,50)
fig.subplots_adjust(hspace=0,wspace=0)
ax[1].imshow(imagen, cmap=plt.cm.gist_earth, interpolation='gaussian',origin='lower',alpha=1)
ax[1].plot([start[1],end[1]],[start[0],end[0]],'r-',lw=2)
ax[1].set_xticks(major_ticks)
ax[1].grid(color="black", linewidth=0.2)
ax[1].grid(True)
ax[0].plot(profile)
ax[0].set_title('data points = '+str(profile.shape[0])+'')
ax[0].set_xticks(major_ticks)
ax[0].grid(color="black", linewidth=0.2)
ax[0].grid(True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |