Helloorld_11
码龄5年
关注
提问 私信
  • 博客:123,732
    社区:946
    问答:1,166
    动态:9,833
    视频:11,867
    147,544
    总访问量
  • 68
    原创
  • 115,875
    排名
  • 13,211
    粉丝

个人简介:应是绿意晓声浓,古寺且敲钟。一为空,二抚松,心中,心终!!!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2019-12-08
博客简介:

Helloorld_1的博客

博客描述:
证明自己的选择是对的
查看详细资料
  • 原力等级
    领奖
    当前等级
    6
    当前总分
    2,801
    当月
    56
个人成就
  • 获得249次点赞
  • 内容获得225次评论
  • 获得906次收藏
  • 代码片获得11,462次分享
创作历程
  • 5篇
    2024年
  • 62篇
    2023年
  • 1篇
    2022年
成就勋章
TA的专栏
  • QT
    7篇
  • paddle
    5篇
  • harmony
    4篇
兴趣领域 设置
  • Python
    python
  • 编程语言
    c++
  • 开发工具
    visualstudio
  • 人工智能
    opencv计算机视觉目标检测
TA的社区
  • Helloorld_1
    2 成员 8 内容
    创建者
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 关注/订阅/互动
  • 代码仓
  • 资源
  • 文章
  • 视频
搜TA的内容
搜索 取消

使用yolov8+QT+onnrunxtime进行开发的注意事项

但是在使用这个代码之前要先包含,inference.h文件:修改类别在class的vector容器里面;因为我是打算采用C++进行推理,所以不希望模型的推理是动态图的形式,为此,设置了。只需要下载,解压即可,然后添加,配置对应的lib,include文件夹路径;1、本来想尝试做一个C++的yolov8在QT5.15.2的应用;dynamic=False,导出了yolov8.onnx。
原创
发布博客 2024.04.28 ·
1022 阅读 ·
7 点赞 ·
1 评论 ·
22 收藏

学习使用paddle来构造hrnet网络模型

,然后进行两个层次的特征处理,一个是向下进行二倍采样,一个是直接过来,这就形成了所谓的不同维度的特征信息,然后进行融合,因为它们的通道数并不相同,所以就需要进行下采样(down),和上采样(up),具体这两个网络结构也已经放出来了。然后就是将前面得到的不同维度的特征信息融合·,输入到下一层里面。按照这个流程做下去,到最后,也就是stage4的时候,进行最后一次的多维度的特征信息融合,
原创
发布博客 2024.02.29 ·
761 阅读 ·
4 点赞 ·
0 评论 ·
13 收藏

本科生想多学点技术性的东西该如何选择?

答:

选博导
1、博导有研究生,不懂的话,也可以问老师名下的研究生;
2、有博导挂名,无论是写文章,还是参加比赛,都会有一定的加成作用;
3、博导的话,研究资金充裕,实验设备崭新。

回答问题 2024.01.12

用python实现智能绘图

使用opencv通过常用的灰度变换,canny算子,对图片进行简单的处理,寻找到轮廓,然后就根据cv2.findcontour来对找到的轮廓进行分级,对不同的轮廓进行边缘绘制。但是后面发现有很多问题,首先是分级不太均匀,其次是轮廓的边缘绘制很容易受到一些细节的影响,从而影响到最后成品的质量。计算出一张图片不同区域画图的顺序,先对图像进行分割,将不同区域区分开来,然后再按照一定顺序进行绘制。利用K-means算法来实现聚类,将不同的颜色的区域进行一个分类,并且打上标记属性。
原创
发布博客 2024.01.11 ·
593 阅读 ·
8 点赞 ·
0 评论 ·
7 收藏

2023-年度总结

在为社区作出贡献方面,我致力于解答CSDN社区的问题,迄今已累计解决了60多个技术问题,为社区成员提供了实质性的帮助。同时,为了不断提升自己的专业技能,我投入大量时间深入研究并掌握了OpenCV的核心技能,通过了技能树所有节点,这使我在计算机视觉领域的实力得以增强。我深信,我的分享对CSDN社区的发展起到了积极的推动作用。更令人振奋的是,我在比赛中取得了前五名的成绩,这一荣誉激发了我持续努力的热情。从最初的零粉丝,我逐步积累了现今的6000多粉丝,这一过程见证了我的努力与付出。
原创
发布博客 2024.01.11 ·
1124 阅读 ·
11 点赞 ·
3 评论 ·
7 收藏

harmony开发之状态state修饰器的使用

简单的来说,就是用@State 定义过后的变量,就可以实现,如果后面这个变量的值发生了变化,就会同步更新到apk的软件界面上面。如参考代码所示,先定义了一个数据类型的变量count,然后在后面的count里面重新赋值为1,然后,那么如果这个count值和界面展示的某个控件相关,那么这个控件上面的数值也是会发生变化。@State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。当状态改变时,UI会发生对应的渲染改变。
原创
发布博客 2024.01.09 ·
551 阅读 ·
9 点赞 ·
0 评论 ·
7 收藏

QT配置Android sdk

答:

你可以参考我写的这篇博客
https://blog.csdn.net/Helloorld_1/article/details/132746626?spm=1001.2014.3001.5502

回答问题 2023.12.13

有人会吗cpp qt 实习问这个正常吗

答:

要使用Qt和Lucene建立本地索引并进行查询,你需要遵循以下步骤:

准备工作:

确保你安装了Lucene库。
在Qt项目中,添加对Lucene的头文件引用。
初始化Lucene:

在你的Qt项目中,你需要初始化Lucene。这通常涉及加载Lucene的库,并确保所有的依赖项都被正确链接。
创建索引:

使用Lucene的API,你可以创建一个索引。你需要为你的数据源(例如,一个数据库或一个文件)创建一个IndexWriter。
你将使用IndexWriter的addDocument方法将数据添加到索引中。这通常涉及解析数据,并为其创建一个或多个文档。
一旦你添加了所有文档,你需要使用commit方法提交更改。
查询索引:

使用IndexReader和TermQuery或PhraseQuery等查询类,你可以查询索引。
执行查询后,你将得到一个Hits对象,其中包含匹配的文档。你可以遍历这些文档,获取你感兴趣的信息。
显示结果:

在Qt中,你可以使用模型/视图架构(例如QTableView)来显示查询结果。
你将需要将查询结果转换为适合显示的数据结构(例如QStringList),然后使用这个数据结构为视图提供数据。
清理:

当你完成索引和查询操作后,确保正确关闭所有的资源,并释放所有分配的内存。
参考示例代码如下:

#include <QCoreApplication>  
#include <QDebug>  
#include <QDir>  
#include <QFile>  
#include <QTextStream>  
#include <QThread>  
#include <QTimer>  
#include <lucene.h>  
  
class LuceneIndexer : public QObject {  
    Q_OBJECT  
public:  
    LuceneIndexer() {  
        // 初始化Lucene库...  
        // ...  
    }  
    void createIndex() {  
        // 创建索引的代码...  
        // ...  
    }  
    void search() {  
        // 搜索的代码...  
        // ...  
    }  
};  
  
int main(int argc, char *argv[]) {  
    QCoreApplication a(argc, argv);  
    LuceneIndexer indexer;  
    indexer.createIndex(); // 创建索引...  
    indexer.search(); // 执行搜索...  
    return a.exec();  
}

回答问题 2023.12.13

harmony开发之button组件的使用

可以使用color设置空白填充的填充颜色。默认值:Color.Transparent 从API version 9开始,该接口支持在ArkTS卡片中使用。这里顺带说一哈,空白填充组件(blank),在容器主轴方向上,空白填充组件具有自动填充容器空余部分的能力。当最小值大于容器可用空间时,使用最小值作为自身大小并超出容器。从API version 9开始,该接口支持在ArkTS卡片中使用。空白填充组件在容器主轴上的最小大小。该组件从API Version 7开始支持。以上内容,参考官方代码。
原创
发布博客 2023.12.12 ·
2539 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

harmony开发之Text组件的使用

TextInput、TextArea是输入框组件,通常用于响应用户的输入操作,比如评论区的输入、聊天框的输入、表格的输入等,也可以结合其它组件构建功能页面,例如登录注册页面。图片来源黑马程序员Text组件的使用:文本显示组件有两种方式,一种是字符串string,一种是读取指定的string格式的字符串!可以实现,根据限定词,切换指定的国家语言,从而实现设备走向国家化!
原创
发布博客 2023.12.08 ·
984 阅读 ·
5 点赞 ·
1 评论 ·
10 收藏

harmony开发之image组件的使用

鸿蒙应用开发中常用的Ui组件,包括image、text、button、slider等,并详细讲解了它们的用法和语法。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR眼镜等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。加载本地图片:介绍了加载本地图片的三种方式,包括字符串、像素图、http和资源格式,以及对应的语法和使用场景。
原创
发布博客 2023.12.05 ·
515 阅读 ·
7 点赞 ·
0 评论 ·
3 收藏

学习极市开发平台

第一次用这个平台有很多问题,首先在使用这个平台之前,我大部分时候使用的是百度的飞浆平台,也就是BML,去训练一些深度学习的模型。
原创
发布博客 2023.12.05 ·
483 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用paddledetection的记录

要求的paddle版本必须是大于2.3.2的。注意版本问题就是了配置环境的时候,其他的大问题没什么。首先在这里使用的是是paddle--detection2.7的版本。
原创
发布博客 2023.11.27 ·
588 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

CmkaeList.txt的使用

22.这一行指定了你的库需要链接到的其他库。比如OpenCV的库(OpenCV_LIBS),licenseAuth库(LICENSE_LIB),以及其他一些你可能需要的库,如glog、WKTParser、jsoncpp、nvinfer、nvonnxparser等。-L指定了CUDA的库路径,-lcudart指定了链接到CUDA的运行时库。如果这是完整的文件,那么可能是一个错误,因为条件语句没有正确的关闭。25.这行代码将3rd/fonts目录下的所有文件(假设是字体文件)安装到lib目录下。
原创
发布博客 2023.11.17 ·
291 阅读 ·
1 点赞 ·
1 评论 ·
5 收藏

如何理解if(i==k)?

答:

在这段代码中,if(i==k)是一个判断条件,其作用是:

这段代码的主要目的是删除一个字符串中连续重复的字符,并计算删除的总字符数。

具体来说,对于输入的字符串,它首先统计了每个字符的出现次数(存储在b[]数组中)。然后,如果一个字符出现次数是奇数次,那么这个字符就会在最终的字符串中出现一次;如果一个字符出现次数是偶数次,那么这个字符就不会出现在最终的字符串中。

if(i==k)这个判断条件是用来判断a[i]和a[k]是否相同的。如果相同,说明这两个字符是连续重复的,需要删除。此时,while(k<j-1)循环会删除连续重复的字符,并更新sum(累计删除的字符数)和j(当前处理的字符位置)。然后跳出循环,继续处理下一个字符。

如果a[i]和a[k]不同,那么说明当前字符没有连续重复的,直接跳出循环,继续处理下一个字符。

这段代码的目标是尽可能地减少删除的字符数,即尽可能地保留原始字符串中的信息。因此,如果有连续重复的字符,那么删除这些字符可以使得字符串更短。

回答问题 2023.11.17

求解下面两道java的编程

答:

第一题:


```java
import java.util.Scanner;  
  
public class Pattern {  
    public static void main(String[] args) {  
        int[] a = {0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0};  
        Scanner scanner = new Scanner(System.in);  
        System.out.print("请输入一个大于0且小于等于16的整数:");  
        int n = scanner.nextInt();  
          
        for (int i = 0; i < n; i++) {  
            for (int j = 0; j < n; j++) {  
                if (a[i] == a[j]) {  
                    System.out.print("+ ");  
                } else {  
                    System.out.print("- ");  
                }  
            }  
            System.out.println();  
        }  
        scanner.close();  
    }  
}
这个程序首先会初始化一个包含特定元素的数组 a。然后,它会提示用户输入一个大于0且小于等于16的整数 n。之后,程序会按照规则输出由 + 和 - 两种字符组成的 n 行 n 列的二维图案。如果数组 a 中下标为 i 的元素和下标为 j 的元素相同,那么二维图案的第 i 行第 j 列的位置就输出 +;否则,就输出 -。每行相邻的字符之间用两个空格隔开。
********************************************
第二题:

```java
public class MagicNum {  
    public static void main(String[] args) {  
        for (int i = 1000; i <= 9999; i++) {  
            if (isMagic(i)) {  
                System.out.println(i);  
            }  
        }  
    }  
  
    public static boolean isMagic(int num) {  
        int firstDigit = num / 1000;  // 获取千位数字  
        int secondDigit = (num / 100) % 10;  // 获取百位数字  
        int thirdDigit = (num / 10) % 10;  // 获取十位数字  
        int fourthDigit = num % 10;  // 获取个位数字  
  
        return firstDigit == fourthDigit && secondDigit == thirdDigit;  
    }  
}

在上面的代码中,main方法遍历1000到9999之间的每个数字,并调用isMagic方法来检查每个数字是否满足条件。如果满足条件,则将数字打印到控制台。isMagic方法通过数学运算来提取出每个数字的千位、百位、十位和个位数字,然后检查这些数字是否满足条件。如果满足条件,则返回true,否则返回false。

回答问题 2023.11.17

C语言输入数字之间有逗号,怎么只要数字呀

答:

#include <stdio.h>  
#include <string.h>  
#include <stdlib.h>  
  
int main() {  
    char str[100];   // 定义一个字符数组,用于存储输入的字符串  
    char *token;  
    int num, max = INT_MIN, sum = 0;  // 定义变量,max用于存储最大值,sum用于存储累计和  
    int temp;  
      
    printf("请输入一个由整数(用逗号分隔)组成的字符串:\n");  
    fgets(str, sizeof(str), stdin);  // 从标准输入读取字符串  
      
    // 使用逗号分隔字符串  
    token = strtok(str, ",");  
    while (token != NULL) {  
        temp = atoi(token);  // 将当前子字符串转换为整数  
        sum += temp;  // 累加到累计和  
        if (temp > max) {  // 如果当前数值大于当前最大值,更新最大值  
            max = temp;  
        }  
        token = strtok(NULL, ",");  
    }  
      
    printf("最大值为:%d\n", max);  // 打印最大值  
    printf("累计和为:%d\n", sum);  // 打印累计和  
      
    return 0;  
}
      

回答问题 2023.11.17

#计算机视觉 #Tesseract-OCR

答:

可以考虑使用paddleocr去做,我感觉Tesseract OCR的识别效果不如paddleocr好用:

回答问题 2023.11.14

如何调用两个USB摄像头?

答:

然后,你可以使用以下代码来控制两个USB摄像头并拍照。在这个示例中,我们假设摄像头设备分别命名为'Camera 1'和'Camera 2'。

注意:在实际环境中,你可能需要根据你的摄像头设备和系统设置进行相应的调整。

import cv2  
import numpy as np  
import keyboard  
  
# 获取两个摄像头的编号  
cap1 = cv2.VideoCapture('Camera 1')  # 摄像头1  
cap2 = cv2.VideoCapture('Camera 2')  # 摄像头2  
  
if not cap1.isOpened() or not cap2.isOpened():  
    print('Error: 一个或多个摄像头未开启')  
    exit()  
  
# 定义拍照按键(例如:'ctrl' + '1' 用于摄像头1,'ctrl' + '2' 用于摄像头2)  
key = None  
  
while True:  
    ret, frame = cap1.read()  # 摄像头1的帧  
    ret, frame = cap2.read()  # 摄像头1的帧  
    if not ret:  
        print('Error: 无法获取摄像头1的帧')  
        break  
    cv2.imshow('Camera 1', frame)  # 显示摄像头1的帧  
    if key is None:  # 初始化按键检测  
        key = keyboard.read_key()  
    if 'ctrl' + '1' == key:  # 如果按下 'ctrl' + '1',则拍照并保存图片到文件  
        ret, frame = cap1.read()  # 确保获取最新帧  
        if not ret:  
            print('Error: 无法获取摄像头1的帧')  
            break  
        cv2.imwrite('photo1.jpg', frame)  # 保存图片到文件  
        print('Camera 1 photo saved.')  
    elif 'ctrl' + '2' == key:  # 如果按下 'ctrl' + '2',则切换到摄像头2并拍照  
        ret, frame = cap2.read()  # 确保获取最新帧  
        if not ret:  
            print('Error: 无法获取摄像头2的帧')  
            break  
        cv2.imshow('Camera 2', frame)  # 显示摄像头2的帧  
        if key is None:  # 初始化按键检测  
            key = keyboard.read_key()  
        if 'ctrl' + '2' == key:  # 如果按下 'ctrl' + '2',则拍照并保存图片到文件  
            ret, frame = cap2.read()  # 确保获取最新帧  
            if not ret:  
                print('Error: 无法获取摄像头2的帧')  
                break  
            cv2.imwrite('photo2.jpg', frame)  # 保存图片到文件  
            print('Camera 2 photo saved.')  
    elif key == ord('q'):  # 如果按下 'q',则退出循环  
        break  
    else:  # 如果按下其他按键,则忽略该按键并继续循环检测下一个按键  
        key = None  
        continue

回答问题 2023.11.14

c++,opencv

答:

1、首先不要用中文;
2、检查一哈src是否为空,也就是读取图片是否失败


 cv::Mat img = cv::imread("your_image_path.jpg");  
  
    if (img.empty()) {  
        std::cout << "Failed to read the image" << std::endl;  
    } else {  
        std::cout << "Image read successfully" << std::endl;  
    }  
回答问题 2023.11.14
加载更多