D:/Qt_demo/Measure_Tool/debug/data/MSP1/xxxxxx.dat 对着字符串操作只保留D:/Qt_demo/Measure_Tool/debug
时间: 2023-08-31 15:09:45 浏览: 144
你可以使用字符串操作函数来截取字符串的一部分。在C++中,你可以使用substr()函数来截取子字符串。假设你的字符串变量名为path,那么你可以使用以下代码来截取D:/Qt_demo/Measure_Tool/debug部分:
```
std::string path = "D:/Qt_demo/Measure_Tool/debug/data/MSP1/xxxxxx.dat";
std::string sub = path.substr(0, 34);
```
这里,substr()函数的第一个参数是子字符串的起始位置,第二个参数是子字符串的长度。在这个示例中,我们从字符串的起始位置开始截取,截取长度为34个字符,即D:/Qt_demo/Measure_Tool/debug这个子字符串。
相关问题
for json_file in (Path(measure_topics_root) / sensor_name).glob("*.json"):
这段代码是用来遍历指定路径下名为sensor_name的文件夹中所有的json文件的。具体来说,它使用了Python的pathlib库,通过Path()函数将指定路径(measure_topics_root)和文件夹名称(sensor_name)合并成一个路径对象,然后使用glob()方法获取该路径下所有以.json结尾的文件路径,并将其存储在一个可迭代对象中。接下来,可以使用for循环依次遍历这些文件路径,并对每个文件进行相应的操作。
ImportError: cannot import name 'compare_ssim' from 'skimage.measure' (/root/miniconda3/lib/python3.8/site-packages/skimage/measure/__init__.py)
如果你遇到了 `ImportError: cannot import name 'compare_ssim' from 'skimage.measure'` 的错误,可能是因为 `compare_ssim` 方法在新版本的 `skimage` 库中已经被移除了。你可以使用 `skimage.metrics.structural_similarity` 模块中的 `compare_ssim()` 方法来计算 MS-SSIM 值。具体步骤如下:
1. 导入相关模块:
```python
from skimage import io, img_as_float
from skimage.metrics import structural_similarity as ssim
```
在上面的代码中,我们从 `skimage.metrics` 模块导入了 `structural_similarity` 方法,并将其重命名为 `ssim`,以便在后面的代码中使用。
2. 读取原始图像和压缩后的图像:
```python
# 读取原始图像和压缩后的图像
img_original = img_as_float(io.imread('original_image.png', as_gray=True))
img_compressed = img_as_float(io.imread('compressed_image.jpg', as_gray=True))
```
在上面的代码中,我们使用 `io.imread()` 方法读取原始图像和压缩后的图像,并使用 `img_as_float()` 方法将像素值归一化到 [0, 1] 区间。
3. 计算 MS-SSIM 值:
```python
# 计算 MS-SSIM 值
ms_ssim = ssim(img_original, img_compressed)
print('MS-SSIM:', ms_ssim)
```
在上面的代码中,我们使用 `ssim()` 方法计算原始图像和压缩后的图像的 MS-SSIM 值,并将其输出到控制台。
需要注意的是,MS-SSIM 值越接近 1,说明压缩后的图像与原始图像的质量越接近。当 MS-SSIM 值为 1 时,说明压缩后的图像与原始图像完全相同。
阅读全文