假设有一张叫做gaofen.tif的高分遥感影像,通过CNN实现特征提取,请给出相关代码
时间: 2024-01-22 17:17:20 浏览: 154
CNN做遥感图像目标识别完整代码
4星 · 用户满意度95%
这里提供一个简单的示例代码:
```python
import tensorflow as tf
# 定义输入和输出的维度
input_shape = (256, 256, 3)
output_dim = 64
# 定义模型
model = tf.keras.Sequential([
tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=input_shape),
tf.keras.layers.MaxPooling2D((2,2)),
tf.keras.layers.Conv2D(64, (3,3), activation='relu'),
tf.keras.layers.MaxPooling2D((2,2)),
tf.keras.layers.Conv2D(128, (3,3), activation='relu'),
tf.keras.layers.MaxPooling2D((2,2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(output_dim, activation='relu')
])
# 编译模型
model.compile(optimizer='adam', loss='mse')
# 加载数据
image_data = tf.keras.preprocessing.image.load_img('gaofen.tif')
image_array = tf.keras.preprocessing.image.img_to_array(image_data)
# 预处理数据
image_array = tf.keras.applications.resnet50.preprocess_input(image_array)
# 获取特征
features = model.predict(tf.expand_dims(image_array, axis=0))
```
这个示例代码使用了 TensorFlow 库,定义了一个简单的卷积神经网络模型,输入为高分遥感影像的三通道图像,输出为一个长度为 64 的向量。模型编译后,加载并预处理高分遥感影像数据,然后使用模型预测得到特征向量。请注意,这里的模型仅仅是一个示例,实际应用中需要根据具体任务和数据进行调整。
阅读全文