将二值图像转为仅含有0和1的矩阵,并将矩阵的所有坐标都保存在txt文件中,每行保存一个矩阵的一个(i,j)点
时间: 2024-03-22 08:41:43 浏览: 133
将二值图像转为仅含有0和1的矩阵,可以将像素值大于0的点设为1,像素值等于0的点设为0,代码如下:
```python
binary_matrix = (gray > 0).astype(int)
```
将矩阵的所有坐标都保存在txt文件中,可以使用以下代码:
```python
with open('coordinates.txt', 'w') as f:
for i in range(binary_matrix.shape[0]):
for j in range(binary_matrix.shape[1]):
f.write("{} {} {}\n".format(i, j, binary_matrix[i][j]))
```
这段代码会将矩阵中每个点的坐标和值写入一个新的txt文件中,每个坐标和值之间用空格隔开,每行保存一个点的信息。新生成的txt文件名可以根据需要进行修改。
相关问题
将二值图像转为仅含有0和1的矩阵,并将矩阵中值为0和1的所有坐标都保存在txt文件中,每行保存一个矩阵的一个(i,j)点,每个矩阵的i需要乘以2再加1,j乘以3再加2
将二值图像转为仅含有0和1的矩阵,可以将像素值大于0的点设为1,像素值等于0的点设为0,代码如下:
```python
binary_matrix = (gray > 0).astype(int)
```
将矩阵中值为0和1的所有坐标都保存在txt文件中,可以使用以下代码:
```python
with open('coordinates.txt', 'w') as f:
for i in range(binary_matrix.shape[0]):
for j in range(binary_matrix.shape[1]):
if binary_matrix[i][j] == 0 or binary_matrix[i][j] == 1:
f.write("{} {} {}\n".format(i*2+1, j*3+2, binary_matrix[i][j]))
```
这段代码会将矩阵中值为0和1的所有点的坐标和值写入一个新的txt文件中,每个坐标和值之间用空格隔开,每行保存一个点的信息。其中,每个矩阵的i坐标需要乘以2再加1,j坐标需要乘以3再加2。新生成的txt文件名可以根据需要进行修改。
将灰度图像转为含有灰度像素值矩阵,并将矩阵中灰度信息大于等于0的所有坐标都保存在txt文件中,每行保存一个矩阵的一个(i,j)点,每个矩阵的i需要乘以2再加1,j乘以3再加2
将灰度图像转为灰度像素值矩阵,只需要使用OpenCV库中的`imread()`函数读取灰度图像并指定`cv2.IMREAD_GRAYSCALE`参数即可:
```python
gray = cv2.imread('skeleton_median_binary.bmp', cv2.IMREAD_GRAYSCALE)
```
将灰度信息大于等于0的所有坐标保存到txt文件中,可以使用以下代码:
```python
with open('coordinates.txt', 'w') as f:
for i in range(gray.shape[0]):
for j in range(gray.shape[1]):
if gray[i][j] >= 0:
f.write("{} {} {}\n".format(i*2+1, j*3+2, gray[i][j]))
```
这段代码会将灰度矩阵中灰度信息大于等于0的所有点的坐标和值写入一个新的txt文件中,每个坐标和值之间用空格隔开,每行保存一个点的信息。其中,每个矩阵的i坐标需要乘以2再加1,j坐标需要乘以3再加2。新生成的txt文件名可以根据需要进行修改。
阅读全文