<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: wangcheng</title>
    <description>The latest articles on DEV Community by wangcheng (@wangchenggggdn).</description>
    <link>https://dev.to/wangchenggggdn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2927593%2F341f0995-3921-4fcb-83a0-a731d289fd07.jpg</url>
      <title>DEV Community: wangcheng</title>
      <link>https://dev.to/wangchenggggdn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wangchenggggdn"/>
    <language>en</language>
    <item>
      <title>Cursor's High Fidelity UI Prototype Image</title>
      <dc:creator>wangcheng</dc:creator>
      <pubDate>Tue, 11 Mar 2025 07:01:43 +0000</pubDate>
      <link>https://dev.to/wangchenggggdn/cursors-high-fidelity-ui-prototype-image-2ndl</link>
      <guid>https://dev.to/wangchenggggdn/cursors-high-fidelity-ui-prototype-image-2ndl</guid>
      <description>&lt;p&gt;I want to develop a (Chinese App with XXX functions, etc.), now I need to output high-fidelity prototype drawings, please help me complete the prototype design of all interfaces in the following ways, and ensure that these prototype interfaces can be directly used for development&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;User experience analysis: First analyze the user needs and main functions of this App, and determine the core interaction logic.&lt;/li&gt;
&lt;li&gt;Product interface planning: As a product manager, define key interfaces to ensure reasonable product function modules and information architecture.
3, high-fidelity UI design: As a UI designer, design close to the real iOS design specifications of the interface, the use of modern UI elements, concise style, so that it has a good visual experience.&lt;/li&gt;
&lt;li&gt;HTML prototype implementation: Use HTML+Tailwind CSS (or Bootstrap) to generate all prototype interfaces, and use FontAwesome (or other open source UI components) to make the interface more beautiful and close to the real App design.
Split the code file to keep the structure clear:
5, each interface should be stored as a separate HTML file, such as home.html, profile.html, settings.html, etc.&lt;/li&gt;
&lt;li&gt;index.html is used as the main entry. Instead of directly writing the HTML code of all interfaces, these HTML fragments are embedded using the iframe mode, and all pages are displayed directly in the index page instead of jumping links.&lt;/li&gt;
&lt;li&gt;Photorealistic enhancement:&lt;/li&gt;
&lt;li&gt;The interface size should mimic the iPhone 15 Pro, and the interface should be rounded to make it more like the real phone interface.&lt;/li&gt;
&lt;li&gt;Use real UI images, not placeholder images (available from Unsplash, Pexels, Apple's official UI resources).&lt;/li&gt;
&lt;li&gt;Add a top status Bar (mimicking iOS status bar) and include an App navigation bar (similar to iOS bottom Tab Bar).
Please follow the above requirements to generate the complete HTML code and ensure that it can be used for the development of the actual iOS App.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(Cue word template from "Kitten Fill light" creator - best practice for peanuts, this sentence does not need to be entered into cursor)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>CUDA编程之OpenCV与CUDA结合使用</title>
      <dc:creator>wangcheng</dc:creator>
      <pubDate>Mon, 10 Mar 2025 08:16:42 +0000</pubDate>
      <link>https://dev.to/wangchenggggdn/cudabian-cheng-zhi-opencvyu-cudajie-he-shi-yong-3de8</link>
      <guid>https://dev.to/wangchenggggdn/cudabian-cheng-zhi-opencvyu-cudajie-he-shi-yong-3de8</guid>
      <description>&lt;p&gt;OpenCV与CUDA的结合使用可显著提升图像处理性能。&lt;br&gt;
一、版本匹配与环境配置&lt;/p&gt;

&lt;p&gt;CUDA与OpenCV版本兼容性‌&lt;br&gt;
OpenCV各版本对CUDA的支持存在差异，例如OpenCV 4.5.4需搭配CUDA 10.0‌2，而较新的OpenCV 4.8.0需使用更高版本CUDA‌。&lt;br&gt;
需注意部分模块（如级联检测器）可能因CUDA版本更新而不再支持‌。&lt;br&gt;
‌OpenCV 版本    CUDA版本&lt;br&gt;
4.5.x‌    推荐 CUDA 11.x 及以下版本。但需注意纹理功能兼容性（如 CUDA 12.0 可能因纹理接口变更导致编译失败）‌。&lt;br&gt;
4.6.x‌    不兼容 CUDA 12.0+，需搭配 CUDA 11.x 或更早版本‌。&lt;br&gt;
4.7.x 及以上‌  支持 CUDA 12.0+，建议优先选择 OpenCV 4.7+ 搭配 CUDA 12.0+ 以解决接口不匹配问题‌。&lt;br&gt;
4.8.x‌    推荐 CUDA 11.x 或 12.x，需结合具体功能需求选择‌。&lt;br&gt;
4.10.x  推荐 CUDA 11.x 或 12.x，需结合具体功能需求选择‌&lt;/p&gt;

&lt;p&gt;验证CUDA环境时，可通过nvidia-smi命令查看当前驱动支持的CUDA版本‌。&lt;br&gt;
‌二、编译与环境要求&lt;br&gt;
1、‌编译器兼容性‌&lt;/p&gt;

&lt;p&gt;CUDA 8.0+ 需搭配 VS2012 及以上版本‌5；CUDA 12.0+ 建议使用 VS2019，避免使用 VS2022（因 CMake 生成器可能不支持）‌。&lt;br&gt;
‌2、opencv依赖库配置‌&lt;/p&gt;

&lt;p&gt;CMake参数‌：需启用WITH_CUDA选项，并指定OpenCV主仓库与opencv_contrib模块路径‌。&lt;br&gt;
‌3、硬件与驱动‌&lt;/p&gt;

&lt;p&gt;NVIDIA 显卡需支持 CUDA，且安装与 CUDA 版本匹配的驱动程序‌。&lt;br&gt;
显卡型号    推荐驱动版本  最高支持CUDA版本&lt;br&gt;
‌40系显卡‌   ≥535.86.05    CUDA 12.3‌4&lt;br&gt;
‌30系显卡‌   ≥470.82.01    CUDA 11.7‌5&lt;br&gt;
‌20系显卡‌   ≥450.80.02    CUDA 11.0‌7&lt;/p&gt;

&lt;p&gt;‌注意事项‌：&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;驱动版本需≥CUDA工具包的最低要求（如CUDA 12.x需驱动≥535.86.05）‌。
‌多版本共存‌：可通过/usr/local/cuda-xx.x路径管理不同CUDA版本，避免环境变量冲突‌。
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;三、常见问题与解决&lt;/p&gt;

&lt;p&gt;‌1、编译报错示例‌&lt;br&gt;
若出现 common.hpp 纹理相关错误（如 OpenCV 4.6.0 + CUDA 12.0），需升级至 OpenCV 4.7+ 或降级 CUDA 版本‌。&lt;br&gt;
‌2、多版本冲突‌&lt;br&gt;
安装多版本 OpenCV 时（如同时存在 3.x 和 4.x），需指定不同安装路径以避免 CUDA 依赖冲突‌。&lt;br&gt;
‌3、链接器错误‌&lt;br&gt;
若提示未解析的外部符号，需检查是否遗漏 CUDA 相关库（如 cudart）或排除冲突的预编译库（如 world 模块）‌。&lt;br&gt;
四、OpenCV中CUDA加速功能&lt;/p&gt;

&lt;p&gt;OpenCV中可通过CUDA加速的模块包括：&lt;br&gt;
图像处理（灰度转换、滤波等）&lt;br&gt;
视频编解码&lt;br&gt;
光流法&lt;br&gt;
对象检测（部分模型）&lt;br&gt;
双目视觉处理‌。&lt;br&gt;
五、代码实例&lt;br&gt;
1、图像处理（灰度转换）&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#include &amp;lt;opencv2/cudaimgproc.hpp&amp;gt;
#include &amp;lt;opencv2/opencv.hpp&amp;gt;

int main(int argc, char *argv[]) {

    //检测可用GPU设备数量‌
    if (0 == cv::cuda::getCudaEnabledDeviceCount())
    {
        return 0;
    }

    // 输出设备详细信息‌
    //cv::cuda::printShortCudaDeviceInfo(0);

    //灰度转换
    cv::Mat src_host = cv::imread("C:\\Users\\Administrator\\Downloads\\test.png");
    cv::cuda::GpuMat src, gray;
    src.upload(src_host);  // 上传至GPU
    cv::cuda::cvtColor(src, gray, cv::COLOR_BGR2GRAY);  // CUDA加速灰度转换
    cv::Mat gray_host;
    gray.download(gray_host);
    ///

    //显示图片
    cv::namedWindow("Image Window", cv::WINDOW_AUTOSIZE);
    cv::imshow("Image Window", gray_host);
    //等待用户按下任意键
    cv::waitKey(0);

    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;此代码通过GpuMat管理数据在CPU与GPU间的传输‌。频繁的CPU-GPU数据拷贝会抵消加速效果，建议尽量在GPU端完成多步处理‌。&lt;br&gt;
2、对象检测&lt;/p&gt;

&lt;p&gt;对象检测通过GPU加速显著提升了传统计算机视觉算法和深度学习模型的执行效率，以下是主要方法和技术实现：&lt;br&gt;
1、基于颜色/形状的对象检测（传统方法）&lt;br&gt;
1）‌颜色空间分析‌&lt;br&gt;
使用HSV/YCrCb等颜色空间分离颜色信息，通过阈值分割和形态学操作检测特定颜色目标。&lt;br&gt;
‌关键步骤‌：&lt;br&gt;
将图像上传至GPU（GpuMat）&lt;br&gt;
调用cuda::cvtColor转换颜色空间&lt;br&gt;
应用cuda::threshold和cuda::morphologyEx进行二值化和去噪‌&lt;br&gt;
2）形状检测&lt;br&gt;
‌Canny边缘检测‌：通过cuda::Canny实现边缘提取，支持高斯滤波、梯度计算和非极大值抑制的并行化‌3。&lt;br&gt;
‌Hough变换‌：&lt;br&gt;
直线检测：cuda::HoughLinesDetector&lt;br&gt;
圆检测：cuda::HoughCirclesDetector&lt;br&gt;
适用于规则形状（如线、圆）的快速定位‌。&lt;br&gt;
2、基于传统分类器的加速&lt;br&gt;
1）Haar级联检测‌&lt;br&gt;
使用cuda::CascadeClassifier加载预训练模型（如人脸、人眼检测），通过GPU加速多尺度滑动窗口计算。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;auto cascade = cv::cuda::CascadeClassifier::create("haarcascade_frontalface.xml");
cascade-&amp;gt;detectMultiScale(gpu_frame, faces);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2）HOG特征+ SVM&lt;br&gt;
调用cuda::HOGDescriptor实现行人检测，内置默认的SVM分类器参数（如getDefaultPeopleDetector()）‌。&lt;br&gt;
3、深度学习模型加速（DNN模块）&lt;br&gt;
通过以下代码启用CUDA后端：&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cv::dnn::Net net;
net = cv::dnn::readNetFromONNX(onnxpath);//onnxpath表示模型文件路径
net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);
net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;支持YOLO、SSD、Mask R-CNN等主流模型‌。&lt;br&gt;
3、视频编码与解码&lt;/p&gt;

&lt;p&gt;GPU视频编码与解码配置要求&lt;/p&gt;

&lt;p&gt;1）、Opencv配置要求：&lt;/p&gt;

&lt;p&gt;确认CUDA驱动版本≥11.0，OpenCV编译时启用WITH_CUDA=ON和WITH_NVCUVID=ON&lt;/p&gt;

&lt;p&gt;2）、安装NVIDIA Video Codec SDK (VCS)&lt;/p&gt;

&lt;p&gt;NVIDIA Video Codec SDK（VCS）提供了对NVIDIA硬件加速视频编解码的支持。你可以从NVIDIA的开发者网站下载VCS。&lt;/p&gt;

&lt;p&gt;3）、FFmpeg集成：&lt;/p&gt;

&lt;p&gt;‌使用支持CUDA的FFmpeg静态库（如ffmpeg-nvidia分支），并在编译OpenCV时链接该库‌。&lt;br&gt;
1、视频解码（GPU硬解码）&lt;/p&gt;

&lt;p&gt;使用cv::cudacodec::VideoReader类实现H.264、H.265等格式的硬解码，支持本地视频和RTSP流‌。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cv::Ptr&amp;lt;cv::cudacodec::VideoReader&amp;gt; reader = cv::cudacodec::createVideoReader("video.mp4");
cv::cuda::GpuMat gpu_frame;
while (reader-&amp;gt;nextFrame(gpu_frame)) {
    // 处理GPU帧数据
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;流处理‌：通过cv::cuda::Stream实现异步数据传输，降低CPU-GPU交互延迟‌。&lt;br&gt;
2、视频编码（GPU硬编码）&lt;/p&gt;

&lt;p&gt;调用cv::cudacodec::VideoWriter类，支持H.264/H.265编码，需配置GOP、码率等参数‌。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cv::cudacodec::EncoderParams params;
params.preset = cv::cudacodec::EncoderPreset::PRESET_FAST;
cv::Ptr&amp;lt;cv::cudacodec::VideoWriter&amp;gt; writer = cv::cudacodec::createVideoWriter("output.mp4", frame_size, params);
writer-&amp;gt;write(gpu_frame); // 写入GPU帧
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;优先使用H.264或HEVC编码格式，避免MPEG-4等不支持硬编码的格式‌。&lt;/p&gt;

</description>
    </item>
    <item>
      <title>顶配超10万！两台Mac Studio在家就能跑满血DeepSeek，网友：这是性价比最高的大模型一体机...</title>
      <dc:creator>wangcheng</dc:creator>
      <pubDate>Mon, 10 Mar 2025 08:11:13 +0000</pubDate>
      <link>https://dev.to/wangchenggggdn/web-3okf</link>
      <guid>https://dev.to/wangchenggggdn/web-3okf</guid>
      <description></description>
      <category>ai</category>
      <category>deepseek</category>
    </item>
    <item>
      <title>Very useful toolbox Tools-IT</title>
      <dc:creator>wangcheng</dc:creator>
      <pubDate>Mon, 10 Mar 2025 07:51:08 +0000</pubDate>
      <link>https://dev.to/wangchenggggdn/very-useful-toolbox-tools-it-4eb2</link>
      <guid>https://dev.to/wangchenggggdn/very-useful-toolbox-tools-it-4eb2</guid>
      <description>&lt;p&gt;To get to the main screen, type &lt;a href="https://tools-it.site/" rel="noopener noreferrer"&gt;https://tools-it.site/&lt;/a&gt; in your browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffibl2tml6sv44q31bdxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffibl2tml6sv44q31bdxc.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the left menu, it is roughly divided into encryption, converter, Web, image and video, development, network, math, measurement, text and data&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Crypto --&amp;gt; Token generator&lt;/strong&gt; Can be used to generate random strings, such as passwords&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxt6n64bp0xx6k3omei8z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxt6n64bp0xx6k3omei8z.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web --&amp;gt; HTTP status codes&lt;/strong&gt; Can be used to query the error returned on the Web&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fts99iugtx1o8oibkxl1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fts99iugtx1o8oibkxl1a.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Images and videos --&amp;gt; QR Code generator&lt;/strong&gt; Can be used to produce QR codes, easy to share&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz94p33nq5vm82gdgwn9j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz94p33nq5vm82gdgwn9j.png" alt="Image description" width="800" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development --&amp;gt; Docker run to Docker compose converter&lt;/strong&gt; It can be used to convert Docker cli to Docker compose yaml file and can be downloaded directly&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffes2k6ytgc6vsf3expgc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffes2k6ytgc6vsf3expgc.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Common tools can be collected&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnec1w7v11ktu09avih4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnec1w7v11ktu09avih4.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can search directly if you want to search temporarily&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpa6y7mkafmlnnf4aa0i5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpa6y7mkafmlnnf4aa0i5.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With more than &lt;strong&gt;70&lt;/strong&gt; tools and counting, IT-Tools is worth a visit.&lt;/p&gt;

&lt;p&gt;Tools-IT  - Handy online tools for developers&lt;br&gt;
URL：&lt;a href="https://tools-it.site/" rel="noopener noreferrer"&gt;https://tools-it.site/&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
