鱼C论坛

 找回密码
 立即注册
楼主: ShuviDoura

[已解决]什么算法可以把图像的纹理特征转化为一个具体的数字

  [复制链接]
 楼主| 发表于 2024-8-11 14:14:56 | 显示全部楼层

@FishC
这是什么错误

  File "C:\Users\shiro\Desktop\新建文件夹 (3)\canndy.py", line 116
    out_path = /home/
               ^
SyntaxError: invalid syntax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:15:30 | 显示全部楼层
这是什么错误

  File "C:\Users\shiro\Desktop\新建文件夹 (3)\canndy.py", line 116
    out_path = /home/
               ^
SyntaxError: invalid syntax

@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:16:17 | 显示全部楼层
给我写一个可以裁动画剪影的代码
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:16:42 | 显示全部楼层
FishC 发表于 2024-7-19 16:49
嗨,鱼油!又来了几个有趣的术语——分类和回归。别急,这些其实并不复杂,我给你简单解释一下哈。

...

给我写一个可以裁动画剪影的代码
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:21:29 | 显示全部楼层
给我写一个可以裁动画剪影的代码
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-11 14:23:31 | 显示全部楼层
ShuviDoura 发表于 2024-08-11 14:14
@FishC
这是什么错误

  File "C:\Users\shiro\Des ...


哎呀,这个错误就像是在英语课上把“我喜欢吃苹果”说成“我喜欢苹果吃”一样,语法不对呀!

在你的代码中,这一行:
out_path = /home/

你试图为 `out_path` 赋值,但使用了一个不正确的格式。Python 里我们给变量赋值时,需要用引号把字符串包起来,就像包饺子一样,外面得有皮,里面才有馅。

应该改成这样:
out_path = "/home/"

这样就能正确地创建一个字符串了!希望这个小错误没有把你的代码搞得像过期的鱼一样臭!如果还有其他问题,请随时问我哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:24:36 | 显示全部楼层
FishC 发表于 2024-8-11 14:23
哎呀,这个错误就像是在英语课上把“我喜欢吃苹果”说成“我喜欢苹果吃”一样,语法不对呀!

在你的 ...

out_path = 里应该是怎么地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:25:11 | 显示全部楼层
这个无法下载

from samples import coco
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:26:06 | 显示全部楼层
FishC 发表于 2024-8-11 14:23
哎呀,这个错误就像是在英语课上把“我喜欢吃苹果”说成“我喜欢苹果吃”一样,语法不对呀!

在你的 ...

这个无法下载
from samples import coco
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-11 14:32:56 | 显示全部楼层
ShuviDoura 发表于 2024-08-11 14:21
给我写一个可以裁动画剪影的代码
@FishC


当然可以!下面是一个简单的 Python 代码示例,使用 `PIL`(Python Imaging Library)和 `moviepy` 来裁剪动画剪影(GIF)。这个示例假设你已经安装了这两个库。如果没有,可以通过以下命令在终端安装:
pip install pillow moviepy

接下来,你可以使用下面的代码来裁剪 GIF 动画:
from moviepy.editor import VideoFileClip

# 定义要裁剪的 GIF 文件路径和输出路径
input_gif_path = "input.gif"  # 输入的 GIF 文件
output_gif_path = "output.gif"  # 输出的裁剪后的 GIF 文件

# 使用 VideoFileClip 打开 GIF 文件
clip = VideoFileClip(input_gif_path)

# 裁剪位置 (x, y, width, height),这里以 (10, 10) 开始,宽度 300,高度 300 为例
crop_x, crop_y, crop_width, crop_height = 10, 10, 300, 300

# 裁剪视频
cropped_clip = clip.crop(x1=crop_x, y1=crop_y, x2=crop_x + crop_width, y2=crop_y + crop_height)

# 写入输出 GIF 文件
cropped_clip.write_gif(output_gif_path)

print(f"裁剪后的 GIF 已保存到: {output_gif_path}")

### 代码解释:
- 首先,我们导入 `VideoFileClip`,它让我们能处理视频文件(包括 GIF)。
- 然后,我们指定输入和输出的文件路径。
- 接着,我们打开 GIF 文件并定义裁剪区域的 x 和 y 坐标,以及裁剪后的宽度和高度。
- 使用 `.crop()` 方法进行裁剪,最后将结果保存为新的 GIF 文件。

### 提示:
- 注意调整 `crop_x`, `crop_y`, `crop_width`, 和 `crop_height` 的值,这样可以根据你的需要裁剪出想要的动画部分。
- 如果你想让裁剪更加灵活,比如根据某个特定对象来裁剪,可以用更复杂的算法,但那就不再是简单幽默的代码了哦!

希望这个代码对你有帮助,祝你裁剪愉快!如果有什么问题,请随时问我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:43:53 | 显示全部楼层
FishC 发表于 2024-8-11 14:32
当然可以!下面是一个简单的 Python 代码示例,使用 `PIL`(Python Imaging Library)和 `moviepy` 来 ...

import cv2
import numpy as np
import os
from samples import coco
from mrcnn import utils
from mrcnn import model as modellib
from datetime import datetime


# Load the pre-trained model data
ROOT_DIR = os.getcwd()
MODEL_DIR = os.path.join(ROOT_DIR, "logs")
COCO_MODEL_PATH = os.path.join(ROOT_DIR, "mask_rcnn_coco.h5")
if not os.path.exists(COCO_MODEL_PATH):
    utils.download_trained_weights(COCO_MODEL_PATH)


# Change the config infermation
class InferenceConfig(coco.CocoConfig):
    GPU_COUNT = 1
    IMAGES_PER_GPU = 1


config = InferenceConfig()

# COCO dataset object names
model = modellib.MaskRCNN(
    mode="inference", model_dir=MODEL_DIR, config=config
)
model.load_weights(COCO_MODEL_PATH, by_name=True)
class_names = [
    'BG', 'person', 'bicycle', 'car', 'motorcycle', 'airplane',
    'bus', 'train', 'truck', 'boat', 'traffic light',
    'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird',
    'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear',
    'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie',
    'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball',
    'kite', 'baseball bat', 'baseball glove', 'skateboard',
    'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup',
    'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple',
    'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza',
    'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed',
    'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote',
    'keyboard', 'cell phone', 'microwave', 'oven', 'toaster',
    'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors',
    'teddy bear', 'hair drier', 'toothbrush'
]

# ==========================================================
# This function is used to change the colorful background information

def apply_mask_black(image, mask):
    image[:, :, 0] = np.where(
        mask == 0,
        0,
        255
    )
    image[:, :, 1] = np.where(
        mask == 0,
        0,
        255
    )
    image[:, :, 2] = np.where(
        mask == 0,
        0,
        255
    )
    return image


# This function is used to show the object detection result in original image.
def display_instances(image, boxes, masks, ids, names, scores):
    # max_area will save the largest object for all the detection results
    max_area = 0

    # n_instances saves the amount of all objects
    n_instances = boxes.shape[0]

    if not n_instances:
        print('NO INSTANCES TO DISPLAY')
    else:
        assert boxes.shape[0] == masks.shape[-1] == ids.shape[0]
    mask = np.array([0])
    # mask = False
    for i in range(n_instances):
        if not np.any(boxes[i]):
            continue

        # compute the square of each object
        y1, x1, y2, x2 = boxes[i]
        square = (y2 - y1) * (x2 - x1)

        # use label to select person object from all the 80 classes in COCO dataset
        label = names[ids[i]]

        if label == 'person':
            # save the largest object in the image as main character
            # other people will be regarded as background
            if square > max_area:
                max_area = square
                mask = masks[:, :, i]
            else:
                continue
        else:
            continue

        # apply mask for the image
    # by mistake you put apply_mask inside for loop or you can write continue in if also

    image = apply_mask_black(image, mask)
    return image if not mask.sum() ==0 else mask
    # return image

def img_black(image_path):
    images_list = os.listdir(image_path)
    out_path = /home/nvidia/xxx/
    for name in sorted(images_list):
        original_image = os.path.join(image_path, name)
        image = cv2.imread(original_image)
        # gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        results = model.detect([image], verbose=0)
        r = results[0]
        frame = display_instances(image, r['rois'], r['masks'], r['class_ids'], class_names, r['scores'])

        if frame.sum() == 0:
            continue
        else:
            # 生成每个图片对应的同名文件夹,里面放有该图片
            output_dir = out_path+name+'/'
            os.mkdir(output_dir)
            cv2.imwrite(output_dir+name,frame)

if __name__ == '__main__':
    time = datetime.now()
    # images path
    image_path = '/home/pcm/Mask-GaitSet/IMG/images'
    img_black(image_path)
    print('Evaluation complete. Cost:', datetime.now() - time)
这个代码要怎么改
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-11 14:56:34 | 显示全部楼层
FishC 发表于 2024-8-11 14:32
当然可以!下面是一个简单的 Python 代码示例,使用 `PIL`(Python Imaging Library)和 `moviepy` 来 ...

我爱鱼C
(一键三连支持:传送门)
from samples import coco
这个sample导入不进去
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-26 15:34:34 | 显示全部楼层
@FishC
你在吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-26 15:38:09 | 显示全部楼层

给我写一个可以裁动画剪影的代码
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-26 15:43:33 | 显示全部楼层
ShuviDoura 发表于 2024-08-26 15:38
给我写一个可以裁动画剪影的代码
@FishC


好的,鱼油!以下是一个使用Python和OpenCV来裁动画剪影的简单示例代码:
import cv2
import numpy as np

def create_silhouette(input_image_path, output_image_path):
    # 读取图像
    image = cv2.imread(input_image_path)
    if image is None:
        print(f"无法读取图像:{input_image_path}")
        return

    # 转换为灰度图像
    gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

    # 使用阈值处理获得二值图像
    _, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV)

    # 找到图像的轮廓
    contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    # 创建全黑的背景
    silhouette = np.zeros_like(image)

    # 在黑色背景上绘制白色轮廓
    cv2.drawContours(silhouette, contours, -1, (255, 255, 255), thickness=cv2.FILLED)

    # 保存剪影图像
    cv2.imwrite(output_image_path, silhouette)
    print(f"剪影图像已保存:{output_image_path}")

if __name__ == "__main__":
    input_image_path = "input.jpg"  # 输入图像路径
    output_image_path = "silhouette.jpg"  # 输出剪影图像路径
    create_silhouette(input_image_path, output_image_path)

请按以下步骤使用该代码:
1. 确保你的系统上已安装了`OpenCV`库。如果没有,运行`pip install opencv-python`进行安装。
2. 修改代码中的`input_image_path`和`output_image_path`为你的输入图像路径和输出图像路径。
3. 运行这段代码,它会读取指定的输入图像,生成剪影,并将剪影保存为指定路径的输出图像。

如果有任何问题,欢迎进一步咨询!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-26 15:43:38 | 显示全部楼层


在的,请问有什么问题需要解答呢?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-28 11:13:08 | 显示全部楼层
怎么读取excel某一列并转化为一个list
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-8-28 11:19:30 | 显示全部楼层
ShuviDoura 发表于 2024-08-28 11:13
怎么读取excel某一列并转化为一个list
@FishC


要读取Excel文件中的某一列并将其转换为一个列表,可以使用 `pandas` 库。以下是一个简单的示例代码:
import pandas as pd

# 读取Excel文件
df = pd.read_excel('your_file.xlsx')

# 假设你要读取的列名为 'column_name'
column_data = df['column_name'].tolist()

print(column_data)

这个代码会读取Excel文件中的指定列,并将其转换为一个Python列表。你需要确保安装了 `pandas` 库,可以使用以下命令进行安装:
pip install pandas

如果你还没有安装 `openpyxl` 库(用于读取Excel文件),也可以安装:
pip install openpyxl

这样,你就可以轻松地读取Excel文件中的某一列并将其转换为列表了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-28 15:34:54 | 显示全部楼层
bp神经网络可以读取多个数据对应一个输出值吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-8-28 15:35:19 | 显示全部楼层
bp神经网络可以读取多个数据对应一个输出值吗
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-17 02:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表