我的图片集存放在D:\jieguo\batch1\real中,写一段tensorflow2.0的不用cv2的代码根据每个图像太湖湖面轮廓内像素的颜色值提取叶绿素浓度值,并形成列表输出每个图像叶绿素浓度值
时间: 2024-05-04 15:21:02 浏览: 15
以下是一段TensorFlow 2.0的代码,用于根据每个图像太湖湖面轮廓内像素的颜色值提取叶绿素浓度值,并形成列表输出每个图像叶绿素浓度值:
```python
import tensorflow as tf
import numpy as np
# 读取图片
img_path = 'D:/jieguo/batch1/real/image.jpg'
img = tf.io.read_file(img_path)
img = tf.image.decode_jpeg(img)
# 提取太湖湖面轮廓内像素
# 这里假设已经有了太湖湖面轮廓的掩码mask
mask_path = 'D:/jieguo/batch1/real/mask.jpg'
mask = tf.io.read_file(mask_path)
mask = tf.image.decode_jpeg(mask)
mask = mask[:,:,0] # 取第一个通道
# 将mask转为bool类型
mask = tf.where(mask > 0, True, False)
# 提取太湖湖面轮廓内的像素
img_masked = tf.boolean_mask(img, mask)
# 提取叶绿素浓度值
chlorophyll = tf.reduce_mean(img_masked, axis=0)
# 将叶绿素浓度值添加到列表中
chlorophyll_list = []
chlorophyll_list.append(chlorophyll.numpy())
```
需要注意的是,这里的代码假设太湖湖面轮廓的掩码mask已经有了,且mask是一个和图片大小相同的二值图片,其中白色表示太湖湖面轮廓内的像素,黑色表示太湖湖面轮廓外的像素。如果没有太湖湖面轮廓的掩码,可以使用一些图像分割算法来生成。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)