374 lines
234 KiB
Plaintext
374 lines
234 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 1,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGpCAYAAAAdnDj0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAQdklEQVR4nO3cf6yXdf3/8cc7zgE5nEn8WB0CrLRmzTCGWOphR2RkAlmJlOba0GGiTrNF0/wjKloTEwyXUayZbq0VrhZO5pw4MbOwphWl+Y8ZFhiY2ArNiHPO9fnj++V8P0cwj4iC3+fttp0/3q/r9b6u1/X+536u6/2j1TRNEwAo5A2HegEA8FoTPwDKET8AyhE/AMoRPwDKET8AyhE/AMoRPwDKET8AyhE/DksPPPBAPvaxj2XChAkZPnx4urq6smDBgmzatOll7edLX/pSWq3WAa3h3nvvTavVyr333ntAzx+qmTNnZubMmUOa9573vOdVXQtUIX4cdr7xjW+ku7s7W7duzde+9rXcfffdWbFiRbZt25YZM2bkxhtvHPK+LrzwwpcdzL2mTZuWTZs2Zdq0aQf0fODw1fLbnhxOfv7zn6enpydz587NT37yk7S1tQ1s6+3tzVlnnZU77rgj9913X7q7u190P//617/S0dHxWiz5Fdt71fdSV5gzZ87M008/nYcffvjVXxT8f86VH4eVa665Jq1WK9/61rcGhS9J2trasnr16rRarSxfvnxgfO+tzV//+tdZsGBBxowZk2OOOWbQtv9t9+7dWbJkSbq6utLR0ZGenp489NBDedvb3pbzzz9/YN7+bnuef/756ezszGOPPZa5c+ems7MzkydPzpIlS7J79+5Bx/nyl7+c97///Rk7dmyOPPLITJs2LTfddFMO5v+brVYrl112WW6++eYce+yxGTlyZKZPn54HHnggTdPkuuuuy9vf/vZ0dnZm1qxZeeyxxwY9f8OGDfnIRz6SSZMm5Ygjjsg73vGOLF68OE8//fQ+x7rtttty/PHHZ8SIETn66KNzww037Pf1bZomq1evztSpUzNy5MiMGTMmCxYsyOOPP37QzhteqbaXngKvjb6+vmzcuDHTp0/PpEmT9jtn8uTJOeGEE3LPPfekr68vw4YNG9g2f/78nHvuubn44ovz3HPPvehxLrjggqxduzZXXnllZs2alT/84Q8566yz8s9//nNI69yzZ08+/OEPZ9GiRVmyZEnuu+++fOUrX8no0aOzdOnSgXlbtmzJ4sWLc9RRRyX5P+9jXn755dm2bdugea/U+vXr85vf/CbLly9Pq9XKVVddlXnz5mXhwoV5/PHHc+ONN+Yf//hHPvvZz+bss8/Ob3/724Fg/fGPf8zJJ5+cCy+8MKNHj86WLVty/fXXZ8aMGfn973+f9vb2JMmdd96Z+fPnp6enJ2vXrk1vb29WrFiRHTt27LOexYsX55ZbbsmnP/3pXHvttXnmmWeybNmynHLKKdm8eXPe/OY3H7RzhwPWwGFi+/btTZLm3HPP/a/zzjnnnCZJs2PHjqZpmuaLX/xik6RZunTpPnP3btvrkUceaZI0V1111aB5P/jBD5okzcKFCwfGNm7c2CRpNm7cODC2cOHCJklz6623Dnr+3Llzm2OPPfZF19zX19fs2bOnWbZsWTNu3Limv79/YNupp57anHrqqf/1nPfOO+644waNJWm6urqaZ599dmBs3bp1TZJm6tSpg46zatWqJknzu9/9br/77+/vb/bs2dM88cQTTZLmtttuG9h24oknNpMnT2527949MLZr165m3Lhxg17fTZs2NUmalStXDtr3X/7yl2bkyJHNlVde+ZLnCa8Ftz153Wn+723DF95uO/vss1/yuT/96U+TJB//+McHjS9YsGCf26wvptVq5cwzzxw0dvzxx+eJJ54YNHbPPfdk9uzZGT16dIYNG5b29vYsXbo0O3fuzFNPPTWkYw3FaaedllGjRg08fve7350kmTNnzqDXaO/4/17nU089lYsvvjiTJ09OW1tb2tvb89a3vjVJ8uijjyZJnnvuuTz44IP56Ec/muHDhw88t7Ozc5/XYf369Wm1WvnkJz+Z3t7egb+urq68973vfdU/OQtD5bYnh43x48eno6Mjf/rTn/7rvC1btqSjoyNjx44dND5hwoSXPMbOnTuTZJ9bb21tbRk3btyQ1tnR0ZEjjjhi0NiIESPy73//e+Dxr371q5x++umZOXNmvvOd72TSpEkZPnx41q1bl69+9at5/vnnh3SsoXjh67A3UC82vned/f39Of300/Pkk0/mC1/4QqZMmZJRo0alv78/J5100sAa//73v6dpmv3ernzh2I4dO150bpIcffTRB3CGcPCJH4eNYcOG5bTTTsudd96ZrVu37vd9v61bt+ahhx7KnDlzBr3fl+x7Jbg/ewO3Y8eOTJw4cWC8t7d3IIwHww9/+MO0t7dn/fr1g0K5bt26g3aMV+rhhx/O5s2bc8stt2ThwoUD4y/8UMyYMWPSarX2+/7e9u3bBz0eP358Wq1Wfvazn2XEiBH7zN/fGBwKbntyWLn66qvTNE0uvfTS9PX1DdrW19eXSy65JE3T5Oqrrz6g/ff09CRJ1q5dO2j8Rz/6UXp7ew9s0fvRarXS1tY2KNDPP/98vve97x20Y7xSe/9ZeGGQ1qxZM+jxqFGjMn369Kxbty7/+c9/BsafffbZrF+/ftDcD33oQ2maJtu2bcv06dP3+ZsyZcqrdDbw8rjy47DS3d2dVatW5TOf+UxmzJiRyy67LEcddVT+/Oc/55vf/GZ++ctfZtWqVTnllFMOaP/HHXdcPvGJT2TlypUZNmxYZs2alUceeSQrV67M6NGj84Y3HJz/B+fNm5frr78+5513Xi666KLs3LkzK1asOKyufN71rnflmGOOyec///k0TZOxY8fm9ttvz4YNG/aZu2zZssybNy8f/OAHc8UVV6Svry/XXXddOjs788wzzwzM6+7uzkUXXZQLLrggDz74YHp6ejJq1Kj89a9/zf33358pU6bkkksueS1PE/ZL/DjsXH755TnxxBOzcuXKLFmyJDt37szYsWMzY8aM3H///Tn55JNf0f5vvvnmTJgwITfddFO+/vWvZ+rUqbn11ltzxhln5I1vfONBOYdZs2blu9/9bq699tqceeaZmThxYj71qU/lTW96UxYtWnRQjvFKtbe35/bbb88VV1yRxYsXp62tLbNnz87dd9898PWMvc4444z8+Mc/ztKlS3POOeekq6srl156aZ588sl9rmbXrFmTk046KWvWrMnq1avT39+ft7zlLenu7s773ve+1/IU4UX5hRdI8otf/CLd3d35/ve/n/POO+9QL+d1Yc+ePZk6dWomTpyYu+6661AvB14WV36Us2HDhmzatCknnHBCRo4cmc2bN2f58uV55zvfmfnz5x/q5R22Fi1alA984AOZMGFCtm/fnm9/+9t59NFHc8MNNxzqpcHLJn6Uc+SRR+auu+7KqlWrsmvXrowfPz5z5szJNddcs89XGPh/du3alc997nP529/+lvb29kybNi133HFHZs+efaiXBi+b254AlOOrDgCUI34AlCN+AJQjfgCUM+RPew7ldxMB4FAbyuc4XfkBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVC
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGpCAYAAAAdnDj0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAPHElEQVR4nO3dW4xV5f3H4d9mAMEDgw4qp1CoF5WghOCBRA0IMRYLTSw1JtXEQwS50nggmmAyCh4QBbUXNdpGx6RRobGxaSlNhNhagxgPaaqOSeuFo9EIxrmB4Al09eIf5u9UtAweBvJ9nmQu9rvXWvt9d0g+rLXXnmk1TdMUAAQZMtgTAIDvm/gBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74cVB65JFHqtVq9f2MGDGixo4dW3Pnzq1Vq1bV+++//6V9brnllmq1Wv3Gzj777Dr77LMPaA73339/PfLIIwe07//SarXqlltu+dptenp6qtVq1Zo1a76TOUAy8eOg1tXVVVu3bq1NmzbVr371q5oxY0atXr26pk6dWps3b+637eLFi2vr1q3f2mt/l/EDBtfQwZ4AfJ2TTjqpTj311L7HP//5z+vaa6+ts846qxYtWlRvvPFGHX/88VVVNXHixJo4ceJgTRU4hDjz45AzadKkWrt2be3cubMefPDBvvF9XfbclxUrVtSsWbPqmGOOqVGjRtXMmTProYceqi/+jvfJkydXd3d3PfPMM32XXidPntz3/I4dO2rZsmU1ZcqUGj58eE2YMKGuueaa2rVrV7/X2rFjRy1ZsqQ6OjrqyCOPrPnz59e///3vA1773svBTz/9dN9xR40aVZdccknt2rWrtm3bVhdeeGGNHj26xo0bV8uWLavdu3cPeP1VVZ988kldf/31NXbs2Dr88MNr9uzZ9fLLL9fkyZPrsssu67fttm3baunSpTVx4sQaPnx4TZkypVasWFF79uw54LXCd8mZH4ekn/zkJ9XW1lZ///vfB7xvT09PLV26tCZNmlRVVc8//3xdddVV9e6771ZnZ2dVVT355JN1wQUXVHt7e91///1VVXXYYYdVVdWHH35Yc+bMqXfeeaeWL19e06dPr+7u7urs7KxXX321Nm/eXK1Wq5qmqfPPP7+ee+656uzsrNNOO622bNlS55133jde/+LFi2vRokW1bt26+sc//lHLly+vPXv21L/+9a9atGhRXXnllbV58+ZavXp1jR8/vq677roBrb+q6vLLL6/169fXDTfcUPPmzavXX3+9fvazn9WOHTv6zWXbtm11+umn15AhQ6qzs7NOOOGE2rp1a912223V09NTXV1d33i98K1r4CDU1dXVVFXz4osvfuU2xx9/fDN16tS+xzfffHPz3/+k58yZ08yZM+crj/HZZ581u3fvblauXNl0dHQ0n3/+ed9z06ZN2+e+q1ataoYMGfKluT3xxBNNVTUbN25smqZp/vKXvzRV1fzyl7/st93tt9/eVFVz8803f+W8mqZp3nzzzaaqmrvvvrtvbO/7ctVVV/Xb9vzzz2+qqrnnnnv6jc+YMaOZOXPmgNff3d3dVFVz44039tv+8ccfb6qqufTSS/vGli5d2hx55JHNW2+91W/bNWvWNFXVdHd3f+06YTC47MkhqznAP0X59NNP1znnnFPt7e3V1tZWw4YNq87Ozurt7d3nXaT/bcOGDXXSSSfVjBkzas+ePX0/P/7xj6vVatXf/va3qqr661//WlVVF198cb/9L7roogOa9xctXLiw3+OpU6dWVdWCBQu+NP7WW2/1G9uf9T/zzDNVVXXhhRf22/eCCy6ooUP7XzDasGFDzZ07t8aPH9/v/dh7hrv3WHAwET8OSbt27are3t4aP378gPZ74YUX6txzz62qqt/85je1ZcuWevHFF+umm26qqqqPPvrofx5j+/bt9corr9SwYcP6/Rx11FHVNE198MEHVVXV29tbQ4cOrY6Ojn77jx07dkBz3pdjjjmm3+Phw4d/5fjHH3/c93h/19/b21tV1Xcz0V77Ws/27dvrT3/605fej2nTplVV9b0fcDDxmR+HpD//+c/12WefDfg7fOvWrathw4bVhg0basSIEX3jf/jDH/b7GGPGjKmRI0fWww8//JXPV1V1dHTUnj17qre3t18wtm3bNqA5f5v2d/1757t9+/aaMGFC3/je9XzRmDFjavr06XX77bfv8zUH+h8U+D6IH4ect99+u5YtW1bt7e21dOnSAe3barVq6NCh1dbW1jf20Ucf1W9/+9svbXvYYYft80xw4cKFdccdd1RHR0dNmTLlK19r7ty5ddddd9Wjjz5aV199dd/4Y489NqA5f5v2d/2zZ8+uqqr169fXzJkz+8afeOKJL93BuXDhwtq4cWOdcMIJdfTRR3+Hs4dvj/hxUHvttdf6PkN6//3369lnn62urq5qa2urJ598so499tgBHW/BggV1zz331EUXXVRXXnll9fb21po1a/ru5Pyik08+udatW1fr16+vH/7whzVixIg6+eST65prrqnf//73NXv27Lr22mtr+vTp9fnnn9fbb79dTz31VF1//fU1a9asOvfcc2v27Nl1ww031K5du+rUU0+tLVu27DO035f9Xf+0adPqF7/4Ra1du7ba2tpq3rx51d3dXWvXrq329vYaMuT/PzFZuXJlbdq0qc4444y6+uqr60c/+lF9/PHH1dPTUxs3bqwHHnjA9y856IgfB7XLL7+8qv7vs6vRo0fX1KlT68Ybb6zFixcPOHxVVfPmzauHH364Vq9eXT/96U9rwoQJtWTJkjruuOPqiiuu6LftihUr6r333qslS5bUzp076wc/+EH19PTUEUccUc8++2zdeeed9etf/7refPPNGjlyZE2aNKnOOeecvu8DDhkypP74xz/WddddV3fddVd9+umndeaZZ9bGjRvrxBNP/MbvzYEYyPq7urpq3Lhx9dBDD9W9995bM2bMqN/97nc1f/78Gj16dN9248aNq5deeqluvfXWuvvuu+udd96po446qqZMmVLz5893NshBqdUc6C1zQJznnnuuzjzzzHr00Ue/lbtWYbCIH7BPmzZtqq1bt9Ypp5xSI0eOrH/+85915513Vnt7e73yyiv9bpiBQ43LnsA+jRo1qp566qm67777aufOnTVmzJg677zzatWqVcLHIc+ZHwBxfMkdgDjiB0Ac8QMgjvgBEGe/7/bcnz8SCgCDbX/u43TmB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACIM3SwJ5CsaZrBngIwiFqt1mBPIZYzPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQ
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"import numpy as np\n",
|
|||
|
"import matplotlib.pyplot as plt\n",
|
|||
|
"from scipy.ndimage import binary_dilation\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个9x10的零矩阵\n",
|
|||
|
"BW = np.zeros((9, 10))\n",
|
|||
|
"\n",
|
|||
|
"# 将4:6行,4:7列的元素设置为1\n",
|
|||
|
"BW[3:6, 3:7] = 1\n",
|
|||
|
"\n",
|
|||
|
"# 显示原始图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Original Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个3x3的结构元素\n",
|
|||
|
"se = np.ones((3, 3))\n",
|
|||
|
"\n",
|
|||
|
"# 执行膨胀操作\n",
|
|||
|
"BW2 = binary_dilation(BW, structure=se)\n",
|
|||
|
"\n",
|
|||
|
"# 显示膨胀后的图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW2, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Dilated Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"plt.show()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 2,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stderr",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"/var/folders/vt/y33_pq896rz19_p09n4lbn8w0000gn/T/ipykernel_78033/1357382760.py:1: DeprecationWarning: Please use `generate_binary_structure` from the `scipy.ndimage` namespace, the `scipy.ndimage.morphology` namespace is deprecated.\n",
|
|||
|
" from scipy.ndimage.morphology import generate_binary_structure\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGpCAYAAAAdnDj0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAQdklEQVR4nO3cf6yXdf3/8cc7zgE5nEn8WB0CrLRmzTCGWOphR2RkAlmJlOba0GGiTrNF0/wjKloTEwyXUayZbq0VrhZO5pw4MbOwphWl+Y8ZFhiY2ArNiHPO9fnj++V8P0cwj4iC3+fttp0/3q/r9b6u1/X+536u6/2j1TRNEwAo5A2HegEA8FoTPwDKET8AyhE/AMoRPwDKET8AyhE/AMoRPwDKET8AyhE/DksPPPBAPvaxj2XChAkZPnx4urq6smDBgmzatOll7edLX/pSWq3WAa3h3nvvTavVyr333ntAzx+qmTNnZubMmUOa9573vOdVXQtUIX4cdr7xjW+ku7s7W7duzde+9rXcfffdWbFiRbZt25YZM2bkxhtvHPK+LrzwwpcdzL2mTZuWTZs2Zdq0aQf0fODw1fLbnhxOfv7zn6enpydz587NT37yk7S1tQ1s6+3tzVlnnZU77rgj9913X7q7u190P//617/S0dHxWiz5Fdt71fdSV5gzZ87M008/nYcffvjVXxT8f86VH4eVa665Jq1WK9/61rcGhS9J2trasnr16rRarSxfvnxgfO+tzV//+tdZsGBBxowZk2OOOWbQtv9t9+7dWbJkSbq6utLR0ZGenp489NBDedvb3pbzzz9/YN7+bnuef/756ezszGOPPZa5c+ems7MzkydPzpIlS7J79+5Bx/nyl7+c97///Rk7dmyOPPLITJs2LTfddFMO5v+brVYrl112WW6++eYce+yxGTlyZKZPn54HHnggTdPkuuuuy9vf/vZ0dnZm1qxZeeyxxwY9f8OGDfnIRz6SSZMm5Ygjjsg73vGOLF68OE8//fQ+x7rtttty/PHHZ8SIETn66KNzww037Pf1bZomq1evztSpUzNy5MiMGTMmCxYsyOOPP37QzhteqbaXngKvjb6+vmzcuDHTp0/PpEmT9jtn8uTJOeGEE3LPPfekr68vw4YNG9g2f/78nHvuubn44ovz3HPPvehxLrjggqxduzZXXnllZs2alT/84Q8566yz8s9//nNI69yzZ08+/OEPZ9GiRVmyZEnuu+++fOUrX8no0aOzdOnSgXlbtmzJ4sWLc9RRRyX5P+9jXn755dm2bdugea/U+vXr85vf/CbLly9Pq9XKVVddlXnz5mXhwoV5/PHHc+ONN+Yf//hHPvvZz+bss8/Ob3/724Fg/fGPf8zJJ5+cCy+8MKNHj86WLVty/fXXZ8aMGfn973+f9vb2JMmdd96Z+fPnp6enJ2vXrk1vb29WrFiRHTt27LOexYsX55ZbbsmnP/3pXHvttXnmmWeybNmynHLKKdm8eXPe/OY3H7RzhwPWwGFi+/btTZLm3HPP/a/zzjnnnCZJs2PHjqZpmuaLX/xik6RZunTpPnP3btvrkUceaZI0V1111aB5P/jBD5okzcKFCwfGNm7c2CRpNm7cODC2cOHCJklz6623Dnr+3Llzm2OPPfZF19zX19fs2bOnWbZsWTNu3Limv79/YNupp57anHrqqf/1nPfOO+644waNJWm6urqaZ599dmBs3bp1TZJm6tSpg46zatWqJknzu9/9br/77+/vb/bs2dM88cQTTZLmtttuG9h24oknNpMnT2527949MLZr165m3Lhxg17fTZs2NUmalStXDtr3X/7yl2bkyJHNlVde+ZLnCa8Ftz153Wn+723DF95uO/vss1/yuT/96U+TJB//+McHjS9YsGCf26wvptVq5cwzzxw0dvzxx+eJJ54YNHbPPfdk9uzZGT16dIYNG5b29vYsXbo0O3fuzFNPPTWkYw3FaaedllGjRg08fve7350kmTNnzqDXaO/4/17nU089lYsvvjiTJ09OW1tb2tvb89a3vjVJ8uijjyZJnnvuuTz44IP56Ec/muHDhw88t7Ozc5/XYf369Wm1WvnkJz+Z3t7egb+urq68973vfdU/OQtD5bYnh43x48eno6Mjf/rTn/7rvC1btqSjoyNjx44dND5hwoSXPMbOnTuTZJ9bb21tbRk3btyQ1tnR0ZEjjjhi0NiIESPy73//e+Dxr371q5x++umZOXNmvvOd72TSpEkZPnx41q1bl69+9at5/vnnh3SsoXjh67A3UC82vned/f39Of300/Pkk0/mC1/4QqZMmZJRo0alv78/J5100sAa//73v6dpmv3ernzh2I4dO150bpIcffTRB3CGcPCJH4eNYcOG5bTTTsudd96ZrVu37vd9v61bt+ahhx7KnDlzBr3fl+x7Jbg/ewO3Y8eOTJw4cWC8t7d3IIwHww9/+MO0t7dn/fr1g0K5bt26g3aMV+rhhx/O5s2bc8stt2ThwoUD4y/8UMyYMWPSarX2+/7e9u3bBz0eP358Wq1Wfvazn2XEiBH7zN/fGBwKbntyWLn66qvTNE0uvfTS9PX1DdrW19eXSy65JE3T5Oqrrz6g/ff09CRJ1q5dO2j8Rz/6UXp7ew9s0fvRarXS1tY2KNDPP/98vve97x20Y7xSe/9ZeGGQ1qxZM+jxqFGjMn369Kxbty7/+c9/BsafffbZrF+/ftDcD33oQ2maJtu2bcv06dP3+ZsyZcqrdDbw8rjy47DS3d2dVatW5TOf+UxmzJiRyy67LEcddVT+/Oc/55vf/GZ++ctfZtWqVTnllFMOaP/HHXdcPvGJT2TlypUZNmxYZs2alUceeSQrV67M6NGj84Y3HJz/B+fNm5frr78+5513Xi666KLs3LkzK1asOKyufN71rnflmGOOyec///k0TZOxY8fm9ttvz4YNG/aZu2zZssybNy8f/OAHc8UVV6Svry/XXXddOjs788wzzwzM6+7uzkUXXZQLLrggDz74YHp6ejJq1Kj89a9/zf33358pU6bkkksueS1PE/ZL/DjsXH755TnxxBOzcuXKLFmyJDt37szYsWMzY8aM3H///Tn55JNf0f5vvvnmTJgwITfddFO+/vWvZ+rUqbn11ltzxhln5I1vfONBOYdZs2blu9/9bq699tqceeaZmThxYj71qU/lTW96UxYtWnRQjvFKtbe35/bbb88VV1yRxYsXp62tLbNnz87dd9898PWMvc4444z8+Mc/ztKlS3POOeekq6srl156aZ588sl9rmbXrFmTk046KWvWrMnq1avT39+ft7zlLenu7s773ve+1/IU4UX5hRdI8otf/CLd3d35/ve/n/POO+9QL+d1Yc+ePZk6dWomTpyYu+6661AvB14WV36Us2HDhmzatCknnHBCRo4cmc2bN2f58uV55zvfmfnz5x/q5R22Fi1alA984AOZMGFCtm/fnm9/+9t59NFHc8MNNxzqpcHLJn6Uc+SRR+auu+7KqlWrsmvXrowfPz5z5szJNddcs89XGPh/du3alc997nP529/+lvb29kybNi133HFHZs+efaiXBi+b254AlOOrDgCUI34AlCN+AJQjfgCUM+RPew7ldxMB4FAbyuc4XfkBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVCO+AFQjvgBUI74AVC
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb8AAAGpCAYAAAAdnDj0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAPS0lEQVR4nO3dW4xV9d3H4d9mBoSqDDqonIJQL5SghKDWRA0IMRaVJkqNiZp4SEGuNB6IJpqM4qGIgocLTQ/RMWlsobGxsRQTIVprEKNtmlrHpPXC0WgKpnMDwSO63os3zOtUbGcQHeb9Pk8yF3vNWnv//jtMPrP2XptpNU3TFAAEGTXcAwDAt038AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/DgoPf7449Vqtfq/xo4dW5MmTaqFCxfW6tWr6/333//SMbfffnu1Wq0B284666w666yz9muGRx55pB5//PH9Ova/abVadfvtt//HfXp7e6vVatXatWu/kRkgmfhxUOvu7q5t27bV5s2b6+GHH665c+fWmjVratasWbVly5YB+y5btqy2bdt2wB77m4wfMLzah3sA+E9OPPHEOuWUU/pv//CHP6zrr7++zjzzzFq6dGm9+eabdcwxx1RV1bRp02ratGnDNSowgjjzY8SZPn16rVu3rnbt2lU//elP+7fv62XPfVm1alWddtppdeSRR9b48eNr3rx59eijj9YX/4/3GTNmVE9PT73wwgv9L73OmDGj//s7d+6slStX1syZM2vMmDE1derUuu6662r37t0DHmvnzp21fPny6uzsrMMOO6wWL15c//jHP/Z77XtfDn7uuef673f8+PF1+eWX1+7du2v79u118cUX14QJE2ry5Mm1cuXK+vTTT4e8/qqqjz/+uG688caaNGlSfec736n58+fXn//855oxY0ZdeeWVA/bdvn17rVixoqZNm1ZjxoypmTNn1qpVq2rPnj37vVb4JjnzY0Q677zzqq2trf74xz8O+dje3t5asWJFTZ8+vaqqXn755brmmmvqvffeq66urqqqeuqpp+qiiy6qjo6OeuSRR6qq6pBDDqmqqg8++KAWLFhQ7777bt1yyy01Z86c6unpqa6urvrb3/5WW7ZsqVarVU3T1AUXXFAvvfRSdXV11amnnlpbt26tc88992uvf9myZbV06dJav359/eUvf6lbbrml9uzZU3//+99r6dKldfXVV9eWLVtqzZo1NWXKlLrhhhuGtP6qqquuuqo2bNhQN910Uy1atKjeeOONuvDCC2vnzp0DZtm+fXt973vfq1GjRlVXV1cdd9xxtW3btrrrrruqt7e3uru7v/Z64YBr4CDU3d3dVFXz6quvfuU+xxxzTDNr1qz+27fddlvz7/+kFyxY0CxYsOAr7+Ozzz5rPv300+aOO+5oOjs7m88//7z/e7Nnz97nsatXr25GjRr1pdmefPLJpqqaTZs2NU3TNM8880xTVc1DDz00YL+77767qarmtttu+8q5mqZp3nrrraaqmvvuu69/297n5Zprrhmw7wUXXNBUVXP//fcP2D537txm3rx5Q15/T09PU1XNzTffPGD/X/3qV01VNVdccUX/thUrVjSHHXZY8/bbbw/Yd+3atU1VNT09Pf9xnTAcvOzJiNXs55+ifO655+rss8+ujo6Oamtrq9GjR1dXV1f19fXt8yrSf7dx48Y68cQTa+7cubVnz57+r+9///vVarXqD3/4Q1VVPf/881VVddlllw04/tJLL92vub9oyZIlA27PmjWrqqrOP//8L21/++23B2wbzPpfeOGFqqq6+OKLBxx70UUXVXv7wBeMNm7cWAsXLqwpU6YMeD72nuHuvS84mIgfI9Lu3burr6+vpkyZMqTjXnnllTrnnHOqqurnP/95bd26tV599dW69dZbq6rqww8//K/3sWPHjnrttddq9OjRA74OP/zwapqm/vWvf1VVVV9fX7W3t1dnZ+eA4ydNmjSkmfflyCOPHHB7zJgxX7n9o48+6r892PX39fVVVfVfTLTXvtazY8eO+t3vfvel52P27NlVVf3PBxxMvOfHiPT73/++PvvssyF/hm/9+vU1evTo2rhxY40dO7Z/+29/+9tB38fEiRNr3Lhx9dhjj33l96uqOjs7a8+ePdXX1zcgGNu3bx/SzAfSYNe/d94dO3bU1KlT+7fvXc8XTZw4sebMmVN33333Ph9zqL+gwLdB/Bhx3nnnnVq5cmV1dHTUihUrhnRsq9Wq9vb2amtr69/24Ycf1i9+8Ysv7XvIIYfs80xwyZIl9eMf/7g6Oztr5syZX/lYCxcurHvvvbeeeOKJuvbaa/u3//KXvxzSzAfSYNc/f/78qqrasGFDzZs3r3/7k08++aUrOJcsWVKbNm2q4447ro444ohvcHo4cMSPg9rrr7/e/x7S+++/Xy+++GJ1d3dXW1tbPfXUU3XUUUcN6f7OP//8uv/+++vSSy+tq6++uvr6+mrt2rX9V3J+0UknnVTr16+vDRs21He/+90aO3ZsnXTSSXXdddfVb37zm5o/f35df/31NWfOnPr888/rnXfeqWeffbZuvPHGOu200+qcc86p+fPn10033VS7d++uU045pbZu3brP0H5bBrv+2bNn1yWXXFLr1q2rtra2WrRoUfX09NS6deuqo6OjRo36v3dM7rjjjtq8eXOdfvrpde2119bxxx9fH330UfX29tamTZvqJz/5ic9fctARPw5qV111VVX973tXEyZMqFmzZtXNN99cy5YtG3L4qqoWLVpUjz32WK1Zs6Z+8IMf1NSpU2v58uV19NFH149+9KMB+65atar++c9/1vLly2vXrl117LHHVm9vbx166KH14osv1j333FM/+9nP6q233qpx48bV9OnT6+yzz+7/POCoUaPq6aefrhtuuKHuvffe+uSTT+qMM86oTZs21QknnPC1n5v9MZT1d3d31+TJk+vRRx+tBx54oObOnVu//vWva/HixTVhwoT+/SZPnlx/+tOf6s4776z77ruv3n333Tr88MNr5syZtXjxYmeDHJRazf5eMgfEeemll+qMM86oJ5544oBctQrDRfyAfdq8eXNt27atTj755Bo3blz99a9/rXvuuac6OjrqtddeG3DBDIw0XvYE9mn8+PH17LPP1oMPPli7du2qiRMn1rnnnlurV68WPkY8Z34AxPEhdwDiiB8AccQPgDjiB0CcQV/tOZg/EgoAw20w13E68wMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxGkf7gEYGZqmGe4RYFBardZwj8AI4MwPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgDEET8A4ogfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQJz24R4gWdM0wz0C/L8zkn6uWq3WcI8Qy5kfAHHED4A44gdAHPEDII74ARBH/ACII34AxBE/AOKIHwBxxA+AOOIHQBzxAyCO+AEQR/wAiCN+AMQRPwDiiB8AccQPgDjiB0Ac8QMgjvgBEEf8AIgjfgD
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"from scipy.ndimage.morphology import generate_binary_structure\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个9x10的零矩阵\n",
|
|||
|
"BW = np.zeros((9, 10))\n",
|
|||
|
"\n",
|
|||
|
"# 将4:6行,4:7列的元素设置为1\n",
|
|||
|
"BW[3:6, 3:7] = 1\n",
|
|||
|
"\n",
|
|||
|
"# 显示原始图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Original Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个3x3的线形结构元素\n",
|
|||
|
"se = generate_binary_structure(2, 1).astype(int)\n",
|
|||
|
"\n",
|
|||
|
"# 执行膨胀操作\n",
|
|||
|
"BW2 = binary_dilation(BW, structure=se)\n",
|
|||
|
"\n",
|
|||
|
"# 显示膨胀后的图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW2, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Dilated Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"plt.show()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 3,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stderr",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"/var/folders/vt/y33_pq896rz19_p09n4lbn8w0000gn/T/ipykernel_78033/2398849774.py:1: DeprecationWarning: Please use `binary_erosion` from the `scipy.ndimage` namespace, the `scipy.ndimage.morphology` namespace is deprecated.\n",
|
|||
|
" from scipy.ndimage.morphology import binary_erosion\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAGpCAYAAACTRnGIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAhmUlEQVR4nO3deYxdVR3A8d8rnU6nM2imVTstLVMpdsG2NFjSUhKhxVKNmmpSJTEKbrjELUY0GjfEGEwaE/lDxCW0EKQ2mC60rqhgQC3axGiKhESBopbWBU0KEem0xz+aO7z35r7z7nLOvb9z7veTNMqbt9x77rnnd/bbMsYYAQCgh2l1HwAAQDcCBQDAikABALAiUAAArAgUAAArAgUAwIpAAQCwIlAAAKwIFAAAKwIFctmxY4e0Wq2e/+67777KjuHxxx939p1vf/vbZdGiRX3fd/nll8uKFSuc/S4Qgul1HwDCtH37dlm2bNmU1y+44IIajgaATwQKFLJixQpZs2ZNrs8YY+TZZ5+VoaEhT0cFwAe6nuBNq9WSD37wg3LLLbfI8uXLZXBwUG677TYREXnggQfkiiuukLPPPltmzZol69evl+9///tTvuPgwYNy6aWXysyZM2X+/PnyqU99Sk6ePJn6e7t27ZJLLrlEhoeHZWRkRDZv3iy/+93vprxvx44dsnTpUhkcHJTly5fL7bff7uQ8t2/fLkuXLpWhoSFZs2aNHDx4UIwxsm3bNnnpS18qIyMjsnHjRvnTn/7U8fl77rlHtmzZIgsWLJCZM2fK+eefL+9973vln//855Tf2rdvn6xatUoGBwflvPPOk5tuukmuv/56abVaHe8zxsjNN98sq1evlqGhIRkdHZWtW7fKo48+Wupc0VAGyGH79u1GRMzBgwfNyZMnO/5NTEx0vFdEzDnnnGNWrVpl7rzzTvPzn//cHD582Nx3331mYGDAvOIVrzC7du0ye/fuNVdeeaVptVrmu9/97uTnH3roITNr1ixzwQUXmJ07d5p9+/aZzZs3m3PPPdeIiHnssccm3/ulL33JtFot8853vtMcOHDA7N6921xyySVmeHjYPPTQQ1OOf8uWLWb//v3mjjvuMOeff75ZuHChGR8f73v+l112mXn5y18+5TzHx8fN+vXrze7du82ePXvMkiVLzOzZs81HP/pRs2XLFnPgwAHzne98x8ydO9esWrXKnD59evLzX//6182NN95o7r77bvOLX/zC3HbbbebCCy80S5cuNc8999zk+374wx+aadOmmcsvv9zs2bPH3HXXXWbt2rVm0aJFpvtWvvbaa83AwID52Mc+Zn70ox+ZO++80yxbtszMnTvXHDt2rO95Au0IFMglKWjT/p111lkd7xUR88IXvtA89dRTHa+vW7fOvOQlLzEnTpyYfG1iYsKsWLHCLFiwYLIQveqqq8zQ0FBHwTYxMWGWLVvWESieeOIJM336dPOhD32o43dOnDhhxsbGzJvf/GZjjDGnTp0y8+fPNxdddFFHQf3444+bgYGBUoFibGzMPP3005Ov7d2714iIWb16dcdvffWrXzUiYv7whz+kfv/p06fNyZMnzZEjR4yImH379k3+7eKLLzYLFy40//vf/zrOcc6cOR2B4te//rUREfOVr3yl47v/8pe/mKGhIfOJT3yi73kC7eh6QiG33367/Pa3v+349+CDD05538aNG2V0dHTyv5955hl58MEHZevWrTIyMjL5+llnnSVve9vb5K9//as88sgjIiJy7733yhVXXCFz587teN9VV13V8Rs//vGPZWJiQq6++mqZmJiY/Ddz5ky57LLLJmdiPfLII3L06FF5y1ve0tFVMz4+LuvXry+VHhs2bJDh4eHJ/16+fLmIiLzmNa/p+K3k9SNHjky+9ve//13e9773ycKFC2X69OkyMDAg4+PjIiLy8MMPi8iZdDt06JC84Q1vkBkzZkx+dmRkRF7/+td3HMuBAwek1WrJW9/61o70GBsbkwsvvLCSmWmIC4PZKGT58uWZBrPnzZvX8d///ve/xRgz5XURkfnz54uIyL/+9a/J/x0bG5vyvu7Xjh8/LiIiF198ceoxTJs2reN7e31nmem2s2fP7vjvpDDv9fqzzz4rIiKnT5+WK6+8Uo4ePSqf/exnZeXKlTI8PCynT5+WdevWyX//+18ReT7d2oNmovu148eP93yviMh5551X4AzRZAQKeNU9yDo6OirTpk2TJ598csp7jx49KiIiL3rRi0REZM6cOXLs2LEp7+t+LXn/9773vcmaeJo5c+akfr7Xa1U4fPiw/P73v5cdO3bINddcM/l694D36OiotFqtyaDYLi09Wq2W3H///TI4ODjl/WmvATZ0PaFSw8PDsnbtWtm9e/dkbVnkTM36jjvukAULFsiSJUtE5Ex3zs9+9rOOwvHUqVOya9euju/cvHmzTJ8+Xf785z/LmjVrUv+JiCxdulTmzZsnO3fuFNP2BOAjR47Ir371K5+n3VMSSLsL72984xsd/z08PCxr1qyRvXv3ynPPPTf5+tNPPy0HDhzoeO/rXvc6McbI3/72t9S0WLlypaezQaxoUaCQw4cPy8TExJTXFy9eLC9+8Yutn73xxhtl06ZNsmHDBrnuuutkxowZcvPNN8vhw4dl586dk4XnZz7zGbn77rtl48aN8rnPfU5mzZolX/va1+SZZ57p+L5FixbJDTfcIJ/+9Kfl0UcflVe/+tUyOjoqx48fl9/85jcyPDwsX/jCF2TatGnyxS9+Ud797nfLG9/4Rrn22mvlP//5j1x//fWp3VFVWLZsmSxevFg++clPijFGZs+eLfv375d77rlnyntvuOEGee1rXyubN2+Wj3zkI3Lq1CnZtm2bjIyMyFNPPTX5vksvvVTe8573yDve8Q45dOiQvPKVr5Th4WF58skn5YEHHpCVK1fK+9///ipPE6GrcyQd4bHNehIR861vfWvyvSJiPvCBD6R+z/333282btxohoeHzdDQkFm3bp3Zv3//lPf98pe/NOvWrTODg4NmbGzMfPzjHzff/OY3p0yPNebMTKMNGzaYF7zgBWZwcNCMj4+brVu3mp/+9Kcd7/v2t79tXvayl5kZM2aYJUuWmFtvvdVcc801pWY9dZ/nY489ZkTEbNu2reP1e++914iIueuuuyZf++Mf/2g2bdpkzj77bDM6Omre9KY3mSeeeMKIiPn85z/f8fk9e/aYlStXmhkzZphzzz3XfPnLXzYf/vCHzejo6JRjvfXWW83atWsn03jx4sXm6quvNocOHep7nkC7ljFtbXAAQTl58qSsXr1azjnnHPnJT35S9+EgUnQ9AQF517veJZs2bZJ58+bJsWPH5JZbbpGHH35YbrrpproPDREjUAABOXHihFx33XXyj3/8QwYGBuSiiy6SH/zgB/KqV72q7kNDxOh6AgBYMT0WAGBFoAAAWBEoAABWBAoAgFXmWU/de/YAAMKWdS4TLQoAgBWBAgBgVWjBXVVLL5ra3dUvffOkS4jLZJp63QGtaFEAAKwIFBELsTUBQB8CBQDAikABALAiUAAArAgUAAArAgUAwIpAAQCwIlAAAKwIFAAAKwIFAMCKQAEAsCJQAACsCBQAAKtC24zDDzbxA6ARLQoAgBWBAgBgRaAAAFgRKBRptVo8BhSAOgxmK8JgNs/LBjSiRQEAsCJQQBVaVYA+BAoAgBWBAgBgRaAAAFgRKAAAVgSKwDB9FEDVCBQAACsCBQDAikARGNYZAKgagQLIgUCNJiJQAACsCBSKsHusflwfNBGBAgBgRaAAAFgRKAAAVjy4SJEsM2pi7yOP/fyAENGiUITBbAAaESgAAFYEisDEvuAr9vMDQsQYhSKMUcR/fkCIaFEAAKwIFAAAKwKFIsx6AqARYxSKMJALQCNaFIrQogCgEYECAGBFoIAqdL8B+hAooApdb4A+BAoAgBWBAgBgRaAAAFgRKAAAVgQKAIAVgQIAYMUWHoFg2iiAutCiCIQxhsVoAGpBoAAAWBEoAABWBAoAgBWBAgBgRaAAAFgRKAAAVgQKAIAVgQIAYEWggBqsPgd0Ygu
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"from scipy.ndimage.morphology import binary_erosion\n",
|
|||
|
"\n",
|
|||
|
"from PIL import Image\n",
|
|||
|
"\n",
|
|||
|
"# 打开图片文件\n",
|
|||
|
"img = Image.open('circbw.tif').convert('L')\n",
|
|||
|
"\n",
|
|||
|
"# 转换为NumPy数组\n",
|
|||
|
"BW1 = np.array(img)\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个5x5的任意结构元素,这里使用单位矩阵作为示例\n",
|
|||
|
"se = np.eye(5).astype(int)\n",
|
|||
|
"\n",
|
|||
|
"# 执行侵蚀操作\n",
|
|||
|
"BW2 = binary_erosion(BW1, structure=se)\n",
|
|||
|
"\n",
|
|||
|
"# 显示原始图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW1, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Original Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"# 显示侵蚀后的图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW2, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Eroded Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"plt.show()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 7,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stderr",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"/var/folders/vt/y33_pq896rz19_p09n4lbn8w0000gn/T/ipykernel_74987/3812917549.py:1: DeprecationWarning: Please use `binary_erosion` from the `scipy.ndimage` namespace, the `scipy.ndimage.morphology` namespace is deprecated.\n",
|
|||
|
" from scipy.ndimage.morphology import binary_erosion\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x500 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"from scipy.ndimage.morphology import binary_erosion\n",
|
|||
|
"\n",
|
|||
|
"from PIL import Image\n",
|
|||
|
"\n",
|
|||
|
"# 打开图片文件\n",
|
|||
|
"img = Image.open('text.png').convert('L')\n",
|
|||
|
"\n",
|
|||
|
"# 转换为NumPy数组\n",
|
|||
|
"BW1 = np.array(img)\n",
|
|||
|
"\n",
|
|||
|
"# 创建一个5x5的任意结构元素,这里使用单位矩阵作为示例\n",
|
|||
|
"se = np.eye(5).astype(int)\n",
|
|||
|
"\n",
|
|||
|
"# 执行侵蚀操作\n",
|
|||
|
"BW2 = binary_erosion(BW1, structure=se)\n",
|
|||
|
"\n",
|
|||
|
"# 显示原始图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW1, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Original Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"# 显示侵蚀后的图像\n",
|
|||
|
"plt.figure(figsize=(6, 5))\n",
|
|||
|
"plt.imshow(BW2, cmap='gray', interpolation='nearest')\n",
|
|||
|
"plt.title('Eroded Image')\n",
|
|||
|
"plt.axis('off')\n",
|
|||
|
"\n",
|
|||
|
"plt.show()\n"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 4,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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KzZt2oS3334bpaWl8PHxwZgxY/D2229LnRo1UTwNSEREssdhPUREJHuSFquVK1ciODgYDg4O6NatG37++Wcp0yEiIpmSrFjFxcVhypQpmDNnDlJSUnD//fdj0KBByM7OliolIiKSKcmuWXXv3h1hYWH46KOPTMvuvvtuDBs2DLGxsTd9b01NDS5evAhXV9frPhuIiIhsgxACer0evr6+N73hXJLRgAaDAcnJyZg1a5bZ8piYGBw8eLBW+8rKSlRWVppeX7hwAR06dLB6nkRE1DBycnLg7+9/w/WSnAYsKCiA0WisNYuzt7f3dSfLjI2Nhbu7uylYqIiIGhdXV9ebrpd0gMU/T+EJIa57Wm/27NnQ6XSmyMnJaagUiYioAdzqko4kpwE9PT2hUqlq9aLy8/Ov+8wce3t70zN3iIio6ZGkZ6XRaNCtWzckJCSYLU9ISOBULkREVItk0y1NnToVzzzzDMLDw9GzZ0988sknyM7Oxvjx46VKiYiIZEqyYjVy5EgUFhbizTffRG5uLkJDQ7Fjxw4EBgZKlRIREcmUTc4NWFJSAnd3d6nTICIiC9HpdHBzc7vhes4NSEREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREssdiRUREsmcndQJypVQqoVaroVAopE6FiEj2ampqYDAYrLZ9FqsbeOCBBzBv3jyp0yAisglpaWmYMGECSktLrbJ9Fqt/UKvV8PPzQ1BQELRardTpEBHZhOLiYqueiWKx+ofg4GDEx8fjwIED6NWrF4QQUqdERCR71dXVVutVASxWtdjZ2aFFixbQaDS4fPmy1OkQERE4GpCIiGwAixUREckeixUREckeixUREckeixUREckeixUREckeixUREckeixUREckeixUREckeixUREcmexYtVbGws7r33Xri6usLLywvDhg3D6dOnzdqMGTMGCoXCLHr06GHpVIiIqJGweLFKSkrChAkTcOjQISQkJKC6uhoxMTG1JjgcOHAgcnNzTbFjxw5Lp0JERI2ExSey3blzp9nrNWvWwMvLC8nJyYiIiDAtt7e35yM4iIioTqx+zUqn0wEAPDw8zJbv3bsXXl5eaNeuHcaNG4f8/PwbbqOyshIlJSVmQURETYdVi5UQAlOnTkWfPn0QGhpqWj5o0CCsX78eP/30E9577z0cOXIEDzzwACorK6+7ndjYWLi7u5uiVatW1kybiIjkRljRyy+/LAIDA0VOTs5N2128eFGo1WqxefPm666vqKgQOp3OFDk5OQKAVaJDhw7iypUrYsOGDVbbB4PBYDDMQ6fT3bROWO3hi5MmTcL27duxb98++Pv737Stj48PAgMDcfbs2euut7e3h729vTXSJCIiG2DxYiWEwKRJk7Blyxbs3bsXwcHBt3xPYWEhcnJy4OPjY+l0iIioEbD4NasJEybgyy+/xIYNG+Dq6oq8vDzk5eWhvLwcAHD16lVMnz4dv/zyCzIzM7F3714MGTIEnp6eeOSRRyydDhERNQIW71l99NFHAIDIyEiz5WvWrMGYMWOgUqmQmpqKL774AsXFxfDx8UG/fv0QFxcHV1dXS6d
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAGxCAYAAADYqUmtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGIklEQVR4nO3deVxU9f4/8NcMzAyryOYsIriAuaCW2FXJ1BJNc8msXK/pL+tapkVqLrdvqbcSs663xZZbeUszw3uvYqmlorlm5oIoaioqArIK4TCsA8zn94dfz7cJUNCBcwZez8fj/Xg4n/OZM+/DOfLmc85nzlEJIQSIiIgUSC13AkRERLVhkSIiIsVikSIiIsVikSIiIsVikSIiIsVikSIiIsVikSIiIsVikSIiIsVikSIiIsVikaJm78svv4RKpcLly5dl+fzi4mK89tpr6NixI3Q6Hfz9/fHAAw8gOTlZlnyIlMRV7gSI5DZ8+HD8/PPPMBqNjf7ZRUVFeOCBB5CZmYkFCxage/fuMJvNOHjwIEpKSho9HyKlUfHefUTyiY6Oxueff46TJ0+iffv2cqdDpDg83UfN3h9P9w0cOBDh4eH4+eefERkZCXd3d7Rt2xZffPEFAGDr1q3o2bMnPDw80K1bN2zbtq3aOr/99lt0794dOp0O7du3x3vvvYfFixdDpVJJfUpKSvD555/jiSeeuK0CdfnyZahUKixfvhxvvvkmgoOD4ebmhl69emHXrl12fW989unTpzFhwgT4+PhAr9fjqaeegtlstut77do1TJs2DX5+fvDy8sLw4cNx6dIlqFQqLF68uN55Et0JFimiGmRnZ+P//b//h6effhrffvstunXrhqeeegp/+9vfsHDhQsybNw8bNmyAl5cXRo8ejczMTOm927Ztw5gxY+Dv74/169dj+fLl+Oabb7B69Wq7zzh27BiKi4sRFhaG5557Dr6+vtBqtejVqxe2bt1a51xXrlyJbdu24d1338XatWuhVqsxbNgw/Pzzz9X6PvbYY+jYsSM2bNiABQsWYN26dXjppZek5TabDSNHjsS6deswf/58xMXFoXfv3hg6dOht/BSJHEAQNXNffPGFACBSUlKEEEIMGDBAABBHjx6V+uTn5wsXFxfh7u4uMjIypPbExEQBQLz//vtS27333ivatGkjysvLpTaLxSL8/f3F7//LffPNNwKAaNGihbjvvvvEd999J7Zs2SIeeOABoVKpxLZt226ad0pKigAgTCaTKC0tldoLCwuFn5+fiIqKktoWLVokAIjly5fbrWPGjBnCzc1N2Gw2IYQQW7duFQDExx9/bNcvJiZGABCLFi26aU5EjsaRFFENjEYjIiIipNd+fn5o1aoV7r77bphMJqm9c+fOAIDU1FQA12fqHT16FKNHj4ZWq5X6eXl5YeTIkXafYbPZAABarRY//PADRo4cieHDh2PLli0wGo14/fXX65TrmDFj4ObmJr329vbGyJEjsW/fPlRVVdn1HTVqlN3r7t27o6ysDLm5uQCAvXv3AgDGjh1r12/ChAl1yoXI0VikiGrg5+dXrU2r1VZrv1GIysrKAAAFBQUQQkCv11d7/x/b/P39AQCRkZHw9vaW2j08PDBgwAAkJCTUKVeDwVBjm9VqRVFRUY2feYNOpwMAlJaWAgDy8/Ph6upabTtr2h6ixsAiReRAvr6+UKlUyMnJqbYsOzvb7nX37t1rXY8QAmp13f57/nG9N9q0Wi28vLzqtI4b/P39UVlZid9+++2Wn0HUGFikiBzI09MTvXr1wqZNm2C1WqX2oqIibNmyxa6v0WhE37598dNPP6GwsFBqLykpwd69e9GnT586febGjRulkRwAWCwWbN68Gffffz9cXFzqlf+AAQMAAOvXr7drj42Nrdd6iByFRYrIwf72t78hIyMDDz30EDZt2oQNGzYgKioKXl5edlPQAeCdd96BxWKR+n777bcYOnQo8vLy7K5JpaamwtXVFdOmTav2eS4uLhg8eDDi4uKwYcMGDBo0CIWFhViyZEm9cx86dCjuu+8+zJkzB2+99RZ27tyJ119/HatWrQKAOo/uiByFRxyRgw0dOhQbNmxAfn4+xo0bh9mzZ+PRRx/FI488gpYtW9r1jYyMxK5du6DT6TBp0iRMnDgRGo0Ge/bsQd++faV+QghUVVVVmwgBADNnzsTgwYPxwgsvYOLEiaisrMTWrVtx33331Tt3tVqNzZs3Y/z48Vi2bBkeeeQR7N+/H2vXrgWAavkTNTTecYKoEVRUVODuu+9G69atsWPHDoes8/Lly2jXrh3efvttzJ071yHrrM26deswadIk/PTTT4iMjGzQzyL6Pd67j6gBTJs2DYMHD4bRaER2djY++eQT/Prrr3jvvffkTu2WvvnmG2RkZKBbt25Qq9U4dOgQ3n77bfTv358FihodixRRA7BYLJg7dy6uXr0KjUaDnj174vvvv0dUVJTcqd2St7c3YmNj8cYbb6C4uBhGoxFTp07FG2+8IXdq1AzxdB8RESkWJ04QEZFiyVqkPvroI7Rr1w5ubm6IiIjA/v375UyHiIgURrYitX79ekRHR+OVV17B8ePHcf/992PYsGFIS0uTKyUiIlIY2a5J9e7dGz179sTHH38stXXu3BmjR49GTEzMTd9rs9mQmZkJb2/val+OJCIi5RNCwGKxwGQy3fRL4rLM7rNarTh27BgWLFhg1z5kyBAcPHiwWv/y8nKUl5dLrzMyMtClS5cGz5OIiBpWeno6goKCal0uy+m+vLw8VFVVVbuzsl6vr/FGljExMfDx8ZGCBYqIqGn4/RMAaiLrxIk/nqoTQtR4+m7hwoUwm81SpKenN1aKRETUgG51yUaW030BAQFwcXGpNmrKzc2t8bk1Op1Oeu4NERE1H7KMpLRaLSIiIhAfH2/XHh8fz9uuEBGRRLbbIs2ePRuTJ09Gr1690LdvX3z66adIS0vDs88+K1dKRESkMLIVqXHjxiE/Px9/+9vfkJWVhfDwcHz//fcICQmRKyUiIlIYp7x3X2FhIXx8fOROg4iI7pDZbEaLFi1qXc579xERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWKxSBERkWI5vEjFxMTg3nvvhbe3N1q1aoXRo0fj3Llzdn2EEFi8eDFMJhPc3d0xcOBAnD592tGpEBGRk3N4kdq7dy+ef/55HDp0CPHx8aisrMSQIUNQXFws9Vm+fDlWrFiBlStX4siRIzAYDBg8eDAsFouj0yEiImcmGlhubq4AIPbu3SuEEMJmswmDwSCWLVsm9SkrKxM+Pj7ik08+qdM6zWazAMBgMBgMJw+z2XzT3/cNfk3KbDYDAPz8/AAAKSkpyM7OxpAhQ6Q+Op0OAwYMwMGDB2tcR3l5OQoLC+2CiIiavgYtUkIIzJ49G/369UN4eDgAIDs7GwCg1+vt+ur1emnZH8XExMDHx0eKNm3aNGTaRESkEA1apGbOnImTJ0/im2++qbZMpVLZvRZCVGu7YeHChTCbzVKkp6c3SL5ERKQsrg214lmzZuG7777Dvn37EBQUJLUbDAYA10dURqNRas/Nza02urpBp9NBp9M1VKpERKRQDh9JCSEwc+ZMbNy4ET/++CPatWtnt7xdu3YwGAyIj4+X2qxWK/bu3YvIyEhHp0NERE7M4SOp559/HuvWrcO3334Lb29v6TqTj48P3N3doVKpEB0djaVLlyIsLAxhYWFYunQpPDw8MHHiREenQ0REzuw2Z5bXCrVMM/ziiy+kPjabTSxatEgYDAah0+lE//79RVJSUp0/g1PQGQwGo2nEraagq/63sDiVwsJC+Pj4yJ0GERHdIbPZjBYtWtS6nPfuIyIixWKRIiIixWK
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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mD17Nm7evAmlUokuXbpg165d6N+/v9Sp3ZeLiws2bNiA999/H8XFxfDx8cGECRPw/vvvS50aNUC83EdERLLFrjpERCRbkhapL7/8EoGBgXBwcEBISAgOHDggZTpERCQzkhWpjRs3YsaMGZg/fz7i4+PxxBNPICIiAunp6VKlREREMiPZPanQ0FB06dIFy5cvNy579NFHMXz4cERFRd3zvRUVFbh+/TpcXFw4cykRkRUSQqCwsBC+vr73fEhckt59Op0OJ0+exFtvvWWyfODAgTh06FCl9lqtFlqt1vg6MzMT7du3t3ieRERkWRkZGfccr1KSy323bt2CwWCoNLKyt7d3lQNZRkVFwc3NzRgsUERE9YOLi8s910vaceLvl+qEEFVevps3bx40Go0x7jetNhERWYf73bKR5HKfp6cnbG1tK5015eTkVDlvjUqlMs57Q0REDYckZ1L29vYICQlBdHS0yfLo6GgOu0JEREaSDYs0c+ZMjBs3Dl27dkWPHj3wzTffID09Ha+88opUKRERkcxIVqRGjRqF3NxcvPvuu8jKykJQUBB27dr1QJO+ERFR/WSVY/cVFBTAzc1N6jSIiOghaTQauLq6VrueY/cREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFssUgREZFsmb1IRUVFoVu3bnBxcYGXlxeGDx+Oy5cvm7SZMGECFAqFSXTv3t3cqRARkZUze5GKjY3Fa6+9hiNHjiA6Ohp6vR4DBw5EcXGxSbtBgwYhKyvLGLt27TJ3KkREZOXszL3B3bt3m7xevXo1vLy8cPLkSYSHhxuXq1QqqNVqc++eiIjqEYvfk9JoNAAAd3d3k+X79++Hl5cX2rZti8mTJyMnJ6fabWi1WhQUFJgEERHVfwohhLDUxoUQGDZsGPLy8nDgwAHj8o0bN8LZ2Rn+/v5ISUnBv//9b+j1epw8eRIqlarSdiIjI7Fo0SJLpUlERBLRaDRwdXWtvoGwoKlTpwp/f3+RkZFxz3bXr18XSqVS/Pzzz1WuLysrExqNxhgZGRkCAIPBYDCsPDQazT3rg9nvSd01ffp07NixA3FxcWjevPk92/r4+MDf3x9JSUlVrlepVFWeYRERUf1m9iIlhMD06dOxdetW7N+/H4GBgfd9T25uLjIyMuDj42PudIiIyIqZvePEa6+9hnXr1uGHH36Ai4sLsrOzkZ2djdLSUgBAUVERZs+ejcOHDyM1NRX79+/HkCFD4OnpiREjRpg7HSIismYPer+pOqjmuuPq1auFEEKUlJSIgQMHiqZNmwqlUilatGghxo8fL9LT02u8D41GI/l1VAaDwWA8fNzvnpRFe/dZSkFBAdzc3KROg4iIHtL9evdx7D4iIpItFikiGbOzs4Orqyvs7e2lToVIEixSRDLWu3dvHDlyBCNHjpQ6FSJJsEgRyZiLiwseffTRSsOKETUULFJERCRbFhtxgogenIuLC15
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
},
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 640x480 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"from skimage import morphology\n",
|
|||
|
"import numpy as np\n",
|
|||
|
"import os\n",
|
|||
|
"import matplotlib.pyplot as plt\n",
|
|||
|
"from PIL import Image\n",
|
|||
|
"\n",
|
|||
|
"# 定义图片处理函数\n",
|
|||
|
"def process_image(image_path):\n",
|
|||
|
" BW = np.array(Image.open(image_path).convert('L'))\n",
|
|||
|
" skel = morphology.thin(BW)\n",
|
|||
|
" return skel\n",
|
|||
|
"\n",
|
|||
|
"# 获取 '2-5-4' 目录下所有 .png 图片文件的路径\n",
|
|||
|
"directory = \"2-5-4\"\n",
|
|||
|
"image_extensions = ['.png']\n",
|
|||
|
"image_files = [os.path.join(directory, f) for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f)) and f.endswith(tuple(image_extensions))]\n",
|
|||
|
"\n",
|
|||
|
"# 遍历图片文件,处理并显示结果\n",
|
|||
|
"for image_file in image_files:\n",
|
|||
|
" skel = process_image(image_file)\n",
|
|||
|
" \n",
|
|||
|
" # 显示骨架图像\n",
|
|||
|
" plt.imshow(skel, cmap='gray')\n",
|
|||
|
" plt.title(os.path.basename(image_file))\n",
|
|||
|
" plt.show()"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "base",
|
|||
|
"language": "python",
|
|||
|
"name": "python3"
|
|||
|
},
|
|||
|
"language_info": {
|
|||
|
"codemirror_mode": {
|
|||
|
"name": "ipython",
|
|||
|
"version": 3
|
|||
|
},
|
|||
|
"file_extension": ".py",
|
|||
|
"mimetype": "text/x-python",
|
|||
|
"name": "python",
|
|||
|
"nbconvert_exporter": "python",
|
|||
|
"pygments_lexer": "ipython3",
|
|||
|
"version": "3.1.undefined"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 2
|
|||
|
}
|