闲来无事,摸鱼时让 chatgpt 帮忙,写了一个 console 样式增强库并发布 npm

4cf949c158850cb43d9f468a77ec6e6a.png

前端Q

我是winty,专注分享前端知识和各类前端资源,乐于分享各种有趣的事,关注我,一起做个有趣的人~

公众号

点击上方 前端Q,关注公众号

回复加群,加入前端Q技术交流群

话不多说,直接先看效果💯:

e2bc2565e8f1a099a0d9bb8f82a3f475.jpeg
console-button.png

fc53c49e0fc9a74196d858d2e94277d7.jpeg 这些效果都是使用 console 在控制台输出的 log,是不是还蛮炫酷的?

一、console.log(info、warn、error) 如何自定义样式

如果你想实现类似效果,需要一点前置知识。我们经常使用的 console.logconsole.infoconsole.warnconsole.error 都是可以自定义样式的,规则如下:

  • 第一个参数,需要写带有 %c 的字符串模板,代表你写的样式要作用的字符区域,可以连写多个:%c %c %c ...

  • 后面的参数,需要你编写样式,就像写 CSS 样式一样,但是因为控制台支持的样式有限,类似于宽高之类的属性是不支持的,如果想实现宽高,可以使用 padding 来替代

  • 一行样式对应一个 %c

// 只有一个 %c 时
console.info('%c this is me ','background-color: #2196f3; padding: 6px 12px; border-radius: 2px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600;',window
);// 两个 %c 时
console.info('%c this is first %c this is second ','background-color: #2196f3; padding: 6px 12px; border-radius: 2px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600;','background-color: #00BCD4; padding: 6px 12px; border-radius: 2px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600;',window
);
复制代码

看下效果:

4527699bd46566033da9d8d8720169d5.jpeg
image.png

console.logconsole.infoconsole.warnconsole.error 支持的样式:

  • background,包括 background-image

  • border,及其他border属性

  • border-radius

  • box-decoration-break

  • box-shadow

  • clearfloat

  • color

  • cursor

  • display

  • font,及其他font属性

  • line-height

  • margin

  • outline,及其他outline属性

  • padding

  • text-transform

  • text-*

  • white-space

  • word-spacing

  • word-break

  • writing-mode

基于以上特性,我们可以看到 console 虽然能写样式,但是支持的样式比较有限,能实现的效果不算很多,但是很明显的一点是, button 风格的 log 可以实现,并且效果还不错。

二、结合 console 样式特性写一个简易 log 库

有这个想法完全是因为公司的项目非常多的 log,因为工程及 npm 包都非常多,加上好些年时间了,项目里跑满了 log,但是出于排查故障的考虑,这些 log 一直保留没有人删,造成了页面非常多的 log,有时候想看看自己的 log 都需要过滤半天,所以想在工程里打一些属于自己特色 log 帮助自己排查问题。但是我发现直接在工程里输出带样式的 console 会产生非常多的多余代码,不利于代码编写,而且大概率会被其他人问候,所以就有了封装成 npm 库的想法。

在样式上受到了 vue-devtool 启发,所以会有一个基本的 log-button 的版本,样式配色采用 vue-devtool 的方案。为了增加样式的丰富性,我又参考了 arco-design,但是样式依然很单调,为了增加趣味性,我找了一些 emoji 表情作为内置符号,方便大家把玩。另外,结合了 chatgpt 的能力,生成了一组 material ui 风格的色卡,这样可以大大丰富 button 的样式。

那么,话不多说,先来搭建基础架构。

  • 首先打包工具使用 vite,简单快速:yarn create vite,选择库模式,typescript 也是必不可少

  • 接着配置 vite.config.ts

import { defineConfig } from 'vite';export default defineConfig({build: {target: 'modules',outDir: "dist",minify: false,rollupOptions: {input: ['src/index.ts'],output: [{format: 'es',entryFileNames: '[name].js',preserveModules: true,dir: 'es',preserveModulesRoot: 'src'},{format: 'cjs',entryFileNames: '[name].js',preserveModules: true,dir: 'lib',preserveModulesRoot: 'src'}]},lib: {entry: './index.ts',formats: ['es', 'cjs'],}},
});
复制代码
  • 简单的来配置下 eslint(不想看的可以略过这里)

先下载几个包:yarn add eslint husky lint-staged \-D 再执行下命令:npx eslint \--init package.json 的 script 加入脚本:

"scripts": {"lint": "eslint . --ext '.js,.ts' --fix","precommit": "lint-staged"
},
复制代码

package.json script 统计增加配置:

"husky": {"hooks": {"pre-commit": "lint-staged"}
},
"lint-staged": {"src/**/*.{js,ts}": ["eslint --fix","git add"]
},
复制代码

为了待会发布方便,配置下 package.json 中的 publishConfig,把 npm 地址配上:

"publishConfig": {"registry": "https://registry.npmjs.org/"
}
复制代码

我们的 build 命令会生成一个 es 包以及一个 lib 包,分别对应 esmodule 和 commonjs,需要继续配置:

"files": ["lib","es","README","LICENSE"
],
复制代码

不同模块化标准对应不同的入口,继续配置:

"main": "lib/index.js",
"module": "es/index.js",
复制代码

以下是完成的 package.json 配置,源码链接会放在文末:

{"name": "console-log-button","private": false,"version": "0.0.1","type": "module","main": "lib/index.js","module": "es/index.js","scripts": {"dev": "vite","build": "tsc && vite build","lint": "eslint . --ext '.js,.ts' --fix","precommit": "lint-staged"},"devDependencies": {"@typescript-eslint/eslint-plugin": "^5.56.0","@typescript-eslint/parser": "^5.56.0","typescript": "^4.9.4","vite": "^4.0.4"},"dependencies": {"eslint": "^8.36.0","husky": "^8.0.3","lint-staged": "^13.2.0"},"files": ["lib","es","README","LICENSE"],"husky": {"hooks": {"pre-commit": "lint-staged"}},"lint-staged": {"src/**/*.{js,ts}": ["eslint --fix","git add"]},"keywords": ["console","log","button"],"license": "MIT","publishConfig": {"registry": "https://registry.npmjs.org/"}
}
复制代码

项目的基本架构就简单介绍到这里,因为是个玩具库,所以没那么多可以配置的项,功能代码也不是很多。本想使用 vitest 进行单元测试的,但是 console 怎么去测属实难倒我了,有知道的朋友还望在评论区不吝赐教。

三、结合 chatgpt 生成我们想要的 UI 色卡

最近也是一直在探索 chatgpt 如何结合自己的工作提高生产力,所以这里就做了下尝试。首先是直接让他为我们生成最终的代码,但是效果并不理想,因为提问不够详细,导致出来的代码达不到我的预期。必须向它提供可参考的案例,或者具体的方向,它才能提供可靠的代码示例,所以我具体化了它参考的 UI 库,例如 arco-design 及 material ui,它也确实生成了不少好看的配色。目前我们初版,就只做一个 button 样式的 log 库,来看看 chatgpt 为我们生成的色卡:

// arco-design
export const ARCO_DEEP_BLUE = "#1f5bfb";
export const ARCO_DEEP_ORANGE = "#fe9c3e";
export const ARCO_DEEP_RED = "#f66965";
export const ARCO_DEEP_GREEN = "#27c24a";
export const ARCO_LIGHT_BLUE = "#96bdfd";
export const ARCO_LIGHT_ORANGE = "#fff7e8";
export const ARCO_LIGHT_RED = "#ffece9";
export const ARCO_LIGHT_GREEN = "#e8ffeb";// material ui
export const MATERIAL_BLUE = "#2196f3";
export const MATERIAL_GREY = "#9e9e9e";
export const MATERIAL_RED = "#f44336";
export const MATERIAL_YELLOW = "#ffeb3b";
export const MATERIAL_GREEN = "#4caf50";
export const MATERIAL_ORANGE = "#ff9800";
export const MATERIAL_PURPLE = "#9c27b0";
export const MATERIAL_TEAL = "#009688";
export const MATERIAL_PINK = "#e91e63";
export const MATERIAL_BROWN = "#795548";
export const MATERIAL_CYAN = "#00bcd4";
export const MATERIAL_LIME = "#cddc39";
export const MATERIAL_DEEP_ORANGE = "#ff5722";
export const MATERIAL_LIGHT_BLUE = "#03a9f4";
export const MATERIAL_AMBER = "#ffc107";
export const MATERIAL_INDIGO = "#3f51b5";
export const MATERIAL_LIGHT_GREEN = "#8bc34a";
export const MATERIAL_DEEP_PURPLE = "#673ab7";
export const MATERIAL_YELLOW_GREEN = "#9ccc65";
export const MATERIAL_DEEP_CYAN = "#006064";
export const MATERIAL_DEEP_GREEN = "#2e7d32";
export const MATERIAL_LIGHT_YELLOW = "#fff59d";
export const MATERIAL_LIGHT_RED = "#e57373";
export const MATERIAL_LIGHT_GREEN_2 = "#81c784";
export const MATERIAL_LIGHT_ORANGE = "#ffcc80";
export const MATERIAL_LIGHT_PURPLE = "#ba68c8";
export const MATERIAL_LIGHT_GREY = "#bdbdbd";
export const MATERIAL_LIGHT_PINK = "#f48fb1";
export const MATERIAL_LIGHT_TEAL = "#4db6ac";
export const MATERIAL_DARK_BLUE = "#0d47a1";
export const MATERIAL_DARK_GREEN = "#1b5e20";
export const MATERIAL_DARK_PINK = "#880e4f";
export const MATERIAL_DARK_CYAN = "#00838f";
export const MATERIAL_DARK_YELLOW = "#f9a825";
export const MATERIAL_DARK_RED = "#b71c1c";
export const MATERIAL_DARK_ORANGE = "#e65100";
export const MATERIAL_DARK_GREY = "#616161";
export const MATERIAL_DARK_PURPLE = "#4a148c";
export const MATERIAL_DARK_TEAL = "#004d40";
export const MATERIAL_DARK_LIME = "#827717";
export const MATERIAL_DARK_AMBER = "#ff6f00";
export const MATERIAL_DARK_INDIGO = "#1a237e";
export const MATERIAL_DARK_BROWN = "#3e2723";
export const MATERIAL_DARK_YELLOW_GREEN = "#689f38";
export const MATERIAL_DARK_LIGHT_BLUE = "#01579b";
export const MATERIAL_DARK_LIGHT_GREEN = "#33691e";
export const MATERIAL_DARK_LIGHT_PINK = "#ad1457";
export const MATERIAL_DARK_LIGHT_PURPLE = "#6a1b9a";
复制代码

这些色卡已经完全满足我们的需求了,接下来是编码环节。

四、代码实现及发布 npm

  • 基础版 log-button,我们采用 vue-devtool 的风格作为默认样式:

8f3776bce3b1641127d0dcf4a3f01f9c.jpeg
image.png
/*** 基础 log 方法* @param {string} logBy log 第一个按钮中的文字内容* @param {string} logName log 第二个按钮中的文字内容* @param {any} data 这里的 data 可以传多个 以 rest 参数形式会被展开*/
export const buttonLog = (logBy = '', logName = '', ...logData: any[]) => console.log(`%c log-by-${logBy} %c ${logName} %c`,`background: ${VUE_DEEP_CYAN}; padding: 6px; border-radius: 1px 0 0 1px;  color: #fff`,`background: ${VUE_BLUE_GRAY}; padding: 6px; border-radius: 0 1px 1px 0;  color: #fff`,'background: transparent',...logData
);
复制代码
  • material ui 风格我们单独写一个方法作为 API 调用

  • 这里实现了黄、橙、红、绿、青、蓝、紫七个基本配色方案,并搭配了渐变

const colorMap = new Map([['yellow', '#FFC107'],['orange', '#ff9800'],['red', '#f44336'],['green', '#4caf50'],['cyan', '#00BCD4'],['blue', '#2196f3'],['purple', '#9C27B0'],
]);const gradientColorMap = new Map([['yellow', 'linear-gradient(to right, #FDB813, #FFAA00)'],['orange', 'linear-gradient(to right, #FFA500, #FF6347)'],['red', 'linear-gradient(to right, #FF416C, #FF4B2B)'],['green', 'linear-gradient(to right, #00b09b, #96c93d)'],['cyan', 'linear-gradient(to right, #1D976C, #93F9B9)'],['blue', 'linear-gradient(to right, #2196F3, #4FC3F7)'],['purple', 'linear-gradient(to right, #DA22FF, #9733EE)'],
]);/*** material ui 风格 log 方法* @param {object} config log 配置* - config.logName - log 按钮中的文字内容* - config.type - 'yellow' | 'orange' | 'red' | 'green' | 'cyan' | 'blue' | 'purple'* - config.isLinearGradient 是否是渐变按钮* @param {any} data 这里的 data 可以传多个 以 rest 参数形式会被展开*/
export const materialButtonLog = ({ logName = '', type = 'blue', isLinearGradient = false }, ...data: any[]) => {if (isLinearGradient) {console.log(`%c${logName}`, `background-image: ${gradientColorMap.get(type)}; padding: 6px 12px; border-radius: 2px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600;`, ...data);} else {console.log(`%c${logName}`, `background-color: ${colorMap.get(type)}; padding: 6px 12px; border-radius: 2px; font-size: 14px; color: #fff; text-transform: uppercase; font-weight: 600;`, ...data);}  
};
复制代码
  • 为了方便用户生成自己想要的 log-button 的风格,我们还要编写一个 class

interface IButtonLogConfig {logBy?: string;logName?: string;preButtonColor?: string;nextButtonColor?: string;padding?: number;borderRadius?: number;fontColor?: string;
}interface IButtonLogClass {logBy: string;logName: string;preButtonColor: string;nextButtonColor: string;padding: number;borderRadius: number;fontColor: string;logTemplate?: (logBy: string, logName: string) => string;
}export default class ButtonLogClass implements IButtonLogClass {logBy;logName;preButtonColor;nextButtonColor;padding;borderRadius;fontColor;logTemplate = (logBy = '', logName = '') => `%c log-by-${logBy} %c ${logName} `;constructor(config: IButtonLogConfig) {this.logBy = config.logBy || '';this.logName = config.logName || '';this.preButtonColor = config.preButtonColor || VUE_DEEP_CYAN;this.nextButtonColor = config.nextButtonColor || VUE_BLUE_GRAY;this.padding = config.padding || 6;this.borderRadius = config.borderRadius || 1;this.fontColor = config.fontColor || '#fff';}log = (...data: any[]) => {const firstButtonStyle = `background: ${this.preButtonColor}; padding: ${this.padding}px; border-radius: ${this.borderRadius}px 0 0 ${this.borderRadius}px;  color: ${this.fontColor}`;const secondButtonStyle = `background: ${this.nextButtonColor}; padding: ${this.padding}px; border-radius: 0 ${this.borderRadius}px ${this.borderRadius}px 0;  color: ${this.fontColor}`;console.log(this.logTemplate(this.logBy, this.logName),firstButtonStyle,secondButtonStyle,...data);};
}
复制代码

那么基本上我们的一个简易的 console-log-button 库就完成了,代码都非常简单,也很好理解。

如何发布

在发布之前,我们需要先拥有一个 npm 的账号,没有的可以先注册一个。本地的 npm 镜像需要切换到 npm 官网:npm config set registry https://registry.npmjs.org/。然后 npm login 登录 npm 才能正式发布。

之后 yarn build 生成我们的 es、lib 包,这些包在发布 npm 上时会被真正的使用。

f13d4f9cc29ce388f8339ef7f8cca5ab.jpeg
image.png

发布之前需要注意几点,你的本地的更改必须全部 commit,否则会发布失败。每次更新版本,需要在 packge.json 中更新 version 字段的版本,例如从 0.0.1 升级到 0.0.2, 否则你上一次发布 0.0.1,这次也是 0.0.1,版本号没有升级也会失败。

以上都准备妥当后,我们在代码所在终端执行:npm publish,之后就可以愉快地玩耍等待发包成功了!

最后

闲来无事,摸了一中午的鱼写出来的小玩意,大家要是有兴趣可以探索更多样式上的可能性。要是也想体验一番,可以 npm i console-log-button 下载体验。

下面是 console-log-button 的文档链接和代码链接(欢迎 star):

  • npm[2]

  • github[3]

关于本文

作者:北岛贰

https://juejin.cn/post/7216182763237916729

866407b6dffcc7f25b66fb89f5a32ce7.png

往期推荐

速来!腾讯微信团队招人,简历直推面试官!

9c1b85d6239adde0a587026053444445.png

阿里面试—如何用 JS 实现瀑布流布局

585920f0e477a626c900d54235670457.png

Vue3除了keep-alive,还有哪些页面缓存的实现方案

9022c25c61c659729bf0efb0f1617ba3.png


最后

  • 欢迎加我微信,拉你进技术群,长期交流学习...

  • 欢迎关注「前端Q」,认真学前端,做个专业的技术人...

34ee6429d7b6a05a8059ed4d735a7908.png

前端Q

本公众号主要分享一些技术圈(前端圈为主)相关的技术文章、工具资源、学习资料、招聘信息及其他有趣的东西...

公众号

071dd6c4d3b37ff3faae402a60705718.jpeg

0402ad3d7f89083e0d760c1f714f1dbc.png

点个在看支持我吧

83f1887615c2df80369a8ca1a3a0ac4a.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14850.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三星被曝因ChatGPT泄露芯片机密!韩媒惊呼数据「原封不动」直传美国,软银已禁止员工使用...

点击上方“AI遇见机器学习”,选择“星标”公众号 第一时间获取价值内容 明敏 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 三星引入ChatGPT不到20天,就发生3起数据外泄事件?! 其中2次和半导体设备有关,1次和内部会议有关…

ChatGPT 泄露对话记录,CEO:开源库的错误

ChatGPT 泄露对话记录,CEO:开源库的错误 ChatGPT 会在界面左侧显示你过去与 AI 进行过的对话,并将内容保存在系统中,方便你时不时回顾之前的内容。只不过最近有用户发现,自己的聊天历史中显示了不曾发生过的对话内容&a…

总结吴恩达 ChatGPT Prompt 免费课程

吴恩达联合 OpenAI 官方,发布了免费的 ChatGPT Prompt 视频教程。 链接:https://learn.deeplearning.ai/chatgpt-prompt-eng/lesson/2/guidelines 视频纯英文,小姐姐的英伦腔,听得很舒服。 我看了第一集,讲了四个技巧&…

ChatGPT的好与坏

ChatGPT是一种人工智能语言模型,它在各种应用中被广泛使用。它的好处是,它可以提供快速、精准的答案,解决用户的问题,并提供各种信息和建议。ChatGPT的工作原理是基于先前的大量数据集和模式识别,所以它的回答具有很高…

最流行的 WebAssembly 语言,会是 JavaScript 吗?

对于网络平台而言,WebAssembly 的出现无疑是意义重大的,它能让各种语言编写的代码以接近原生的速度在 Web 中运行——那么在各种语言中,JavaScript 会是其中最流行的吗? 原文链接:https://thenewstack.io/will-javascr…

【ChatGPT】ChatGPT时代 —— 软件开发的末日来临了?

在这篇文章中,我将说明像 ChatGPT 这样的生成式人工智能 (GAI) 将如何在十年内取代软件工程师。 预测被离散化为 5 个阶段,总体轨迹趋向于完全接管。 但首先,一个简短的前言。 目录 1、关于AI的预测谬误 谬误一:AI只会取代脚本小子

chatgpt赋能python:Python编写聊天程序

Python编写聊天程序 Python是一种优秀的编程语言,常被用来开发网络应用程序。在这个不断发展的数字时代,人们越来越需要在线沟通工具来实现快速交流。像即时聊天这类工具已经成为生活中必不可少的组成部分。因此,在这篇文章中,我…

高考书单丨关于理想,我从来没选择放弃

高 考 主题书单 关于考试升学技巧 也关乎对大学教育的思考 近期,“男子为考清华复读14年”登上微博热搜,该男子名叫唐尚珺。据了解,今年是他复读的第14年,此次高考也是他参加的第15次高考。2009年,他参加了人生中第一场…

Jeff Dean万字总结!图解谷歌2022年AIGC、LLM、CV三大领域成就

本文来源 新智元 编辑:编辑部 【新智元导读】2022年,谷歌在ML领域取得了哪些新进展?Jeff Dean发万字长文总结。 2022年,谷歌在机器学习方面有什么进展? Google Research高级研究员兼高级副总裁Jeff Dean一文帮你总结…

Jeff Dean万字总结出炉!图解谷歌2022年AIGC、LLM、CV三大领域成就!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>CV微信技术交流群 转载自:新智元 【导读】2022年,谷歌在ML领域取得了哪些新进展?Jeff Dean发万字长文总结。 2022年,谷歌在机器…

超详超硬Jeff Dean万字总结火热出炉!图解谷歌2022年AIGC、LLM、CV三大领域成就

报道 编辑:编辑部 【导读】2022年,谷歌在ML领域取得了哪些新进展?Jeff Dean发万字长文总结。 2022年,谷歌在机器学习方面有什么进展? Google Research高级研究员兼高级副总裁Jeff Dean一文帮你总结! 昨天…

讯飞高管解读财报:追求高质量发展 持续促进人均效能提升

雷递网 雷建平 4月22日 科大讯飞(002230.SZ)日前发布2022年报及2023年一季报。财报显示,科大讯飞2022年营收188.2亿,较上年同期的183.14亿元增长2.77%;归母净利润为5.61亿元。 科大讯飞2023年第一季营收28.88亿&#x…

科大讯飞的2022:夯实“根据地”业务,以技术创新点燃大模型产业落地的“星星之火”...

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 4月20日晚,科大讯飞正式公布2022年度及2023年度第一季度业绩报告。财报数据显示,公司2022年度实现营业收入188.20亿元,同比增长2.77%,实现毛利76.84亿元,较上年增长…

COIG:首个大规模、可商用的中文开源指令数据!

文 | ZenMoore ChatGPT 出现后的这几个月,整个学界和业界的疯狂想必大家都已经看到了。 然而,在背各种各样的动物还有山海经怪兽的英语单词的时候,其实不妨停下来想一想复现中文 ChatGPT 到底缺什么?缺大模型吗?缺工程…

从GPT-1到GPT-4,再到未来的GPT-5,一文带你了解GPT的前世今生和未来!

原文:从GPT-1到GPT-4,再到未来的GPT-5,一文带你了解GPT的前世今生和未来! - 腾讯云开发者社区-腾讯云 引言 ChatGPT爆火的余热还没退去,GPT-4又横空出世,各大媒体都争相报道,朋友圈也在不断刷屏&#xff…

5张图看完《西游记》| 经典名著思维导图分享

📕四大名著之一《西游记》是家喻户晓的名著经典 📕被拍成电视剧后更是老少都爱 🖊作为中考名著,它的重要性就不用过多强调了 🖊今天奇奇就给大家整理了《西游记》的思维导图 - 💯包含有人物特点、人物经历…

云从大模型现场真机演示!考中考堪比ChatGPT,还秀了一波代码能力,创始人周曦:三种递进方式颠覆传统交互...

杨净 发自 凹非寺量子位 | 公众号 QbitAI 云从大模型,来了! AI四小龙最年轻的一个,交出了AI 2.0时代下的首份答卷。 大模型取名从容,结果在发布会现场,它直接与ChatGPT、GPT-4一较高下。 据称,最终评分结果…

清华博士、人大附中高级教师和渊:ChatGPT时代,孩子需要培养哪些能力?

5 月 13 日晚 20 点,清华大学理学博士、中国人民大学附属中学高级教师和渊老师,与图灵联合创始人刘江总编就“人工智能时代,孩子要如何做好准备”这一主题,进行了长达 2 个小时的深刻对谈。 和渊老师基于多年的教学经验&#xff0…

目标检测算法——收藏|小目标检测解决方案(三)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 一、数据增强策略 二、多尺度学习 三、上下文学习 四、生成对抗学习 五、无锚机制 在计算机视觉领域中&#xff0c;小目标检测是经常会遇到且令人头疼的问题。本期小海带简要介绍了5个提高小目标检测…

目标检测算法——医学图像开源数据集汇总(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< 目录 1.血细胞图像数据 2.眼病深度学习数据集 3.皮肤病数据集 4.膝关节 X 射线图像数据集 小海带整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&#xff01; >>>一起交流…