小企业网站建设哪些好办网站做邮箱吗

张小明 2026/3/12 9:40:07
小企业网站建设哪些好办,网站做邮箱吗,3m网站源码,管理信息系统开发方法在深度学习训练当中#xff0c;遇到有些图在不同平台上看到的方向不一样#xff0c;会导致出错#xff0c;这些图一般都是携带方向信息的。例如#xff1a;我在训练yolo过程中遇到一些图#xff0c;图片方向是在windows显示是正方向#xff0c;opencv 读取的图片宽高也是…在深度学习训练当中遇到有些图在不同平台上看到的方向不一样会导致出错这些图一般都是携带方向信息的。例如我在训练yolo过程中遇到一些图图片方向是在windows显示是正方向opencv 读取的图片宽高也是我在屏幕中看到的正方向但是实际上图片携带了方向信息导致宽高读错处理标签时发生了错误因此训练不佳。使用pil库可以读出来真正的方向信息记录一下问题解决方法fromPILimportImage,ExifTagsimportnumpyasnpdefget_orientation_pil(image_path): 使用PIL获取图片的EXIF方向信息 参数: image_path: 图片路径 返回: orientation: 方向值 (1-8) try:imgImage.open(image_path)exifimg._getexif()ifexifisnotNone:# 查找方向标签 (EXIF标签274)fortag,valueinexif.items():# ExifTags.TAGS是一个字典将数值标签映射到字符串标签ifExifTags.TAGS.get(tag)Orientation:returnvalueexcept(AttributeError,KeyError,IndexError):# 图片可能没有EXIF信息passreturn1# 如果没有方向信息默认为1正常方向defcorrect_image_orientation_pil(image_path,output_pathNone,save_rotatedTrue): 使用PIL校正图片方向 参数: image_path: 输入图片路径 output_path: 输出图片路径如果为None则不保存 save_rotated: 是否保存旋转后的图片 返回: img_rotated: 旋转校正后的PIL Image对象 # 获取方向信息orientationget_orientation_pil(image_path)print(f原始方向标记:{orientation})# 打开图片imgImage.open(image_path)# 根据方向标记进行旋转iforientation3:# 旋转180度print(执行旋转180度)img_rotatedimg.transpose(Image.Transpose.ROTATE_180)eliforientation6:# 顺时针90度相机逆时针旋转90度拍摄# 需要逆时针旋转90度来校正print(执行逆时针旋转90度校正顺时针90度)img_rotatedimg.transpose(Image.Transpose.ROTATE_270)# 逆时针90度eliforientation8:# 逆时针90度相机顺时针旋转90度拍摄# 需要顺时针旋转90度来校正print(执行顺时针旋转90度校正逆时针90度)img_rotatedimg.transpose(Image.Transpose.ROTATE_90)# 顺时针90度else:# 方向1或其他正常方向无需旋转print(方向正常无需旋转)img_rotatedimg# 如果需要保存ifsave_rotatedandoutput_path:# 创建新的EXIF信息移除方向标记exif_dataimg.info.get(exif)ifexif_data:# 移除方向标记避免再次被旋转# 这里需要处理EXIF二进制数据较为复杂# 简单的方法是重新保存而不保留EXIF的方向标记img_rotated.save(output_path,quality95)print(f已保存校正后的图片到:{output_path})else:img_rotated.save(output_path,quality95)print(f已保存校正后的图片到:{output_path})returnimg_rotateddefcorrect_and_display_all_orientations(): 展示所有方向标记的校正效果 # 模拟不同方向标记的图片实际应用中需要准备测试图片orientations[1,3,6,8]fororientationinorientations:print(f\n 测试方向标记:{orientation})# 这里只是演示实际需要准备相应方向的图片print(f方向标记{orientation}对应的旋转操作:)iforientation1:print( - 无旋转 (正常))eliforientation3:print( - 旋转 180 度)print( - PIL操作: img.transpose(Image.ROTATE_180))eliforientation6:print( - 逆时针旋转 90 度)print( - PIL操作: img.transpose(Image.ROTATE_270))eliforientation8:print( - 顺时针旋转 90 度)print( - PIL操作: img.transpose(Image.ROTATE_90))defbatch_correct_orientation(input_folder,output_folder,extensionsNone): 批量校正文件夹中所有图片的方向 参数: input_folder: 输入文件夹路径 output_folder: 输出文件夹路径 extensions: 要处理的图片扩展名列表 importosifextensionsisNone:extensions[.jpg,.jpeg,.png,.tiff,.bmp]# 创建输出文件夹os.makedirs(output_folder,exist_okTrue)corrected_count0total_count0forfilenameinos.listdir(input_folder):# 检查文件扩展名ifany(filename.lower().endswith(ext)forextinextensions):input_pathos.path.join(input_folder,filename)output_pathos.path.join(output_folder,filename)total_count1try:# 获取方向orientationget_orientation_pil(input_path)iforientationin[3,6,8]:# 需要校正corrected_imgcorrect_image_orientation_pil(input_path,output_path,save_rotatedTrue)corrected_count1print(f✓ 已校正:{filename}(方向:{orientation}))else:# 方向正常直接复制imgImage.open(input_path)img.save(output_path)print(f 正常方向:{filename}(方向:{orientation}))exceptExceptionase:print(f✗ 处理失败:{filename}-{str(e)})print(f\n批量处理完成)print(f总共处理:{total_count}个文件)print(f校正了:{corrected_count}个文件)# 使用示例if__name____main__:# 示例1: 校正单个图片input_imagepath/to/your/image.jpgoutput_imagepath/to/your/image_corrected.jpgcorrected_imgcorrect_image_orientation_pil(input_image,output_image,save_rotatedTrue)# 显示图片信息print(f\n校正后的图片信息:)print(f 尺寸:{corrected_img.size})print(f 模式:{corrected_img.mode})print(f 格式:{corrected_img.format})# 示例2: 批量处理# batch_correct_orientation(input_folder, output_folder)# 示例3: 查看方向标记说明print(\n*50)print(方向标记说明:)print(*50)print(1: 正常 (无旋转))print(3: 旋转 180 度)print(6: 顺时针 90 度 (相机逆时针旋转90度拍摄))print(8: 逆时针 90 度 (相机顺时针旋转90度拍摄))在处理数据之前用上面代码跑一跑可以将图片转到应该的方向上避免标签处理失误的情况。原来遇到过一张图图片方向是看着没问题然后使用opencv测试也没问题但是一在部署的平台上(使用了其他图像库)测试结果就不一样了。搞了好久发现是图片方向问题。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

有没有做衣服的网站雄安智能网站建设

突破跨模态生成瓶颈:Step-Video-TI2V开创图生视频技术新范式 【免费下载链接】stepvideo-ti2v 项目地址: https://ai.gitcode.com/StepFun/stepvideo-ti2v 在AIGC技术迅猛发展的当下,图像生成领域已进入精细化创作阶段,而视频生成作为…

张小明 2026/3/5 5:27:00 网站建设

云南网站建设多少钱永久域名最新网站

自定义控件与WPF绘图全解析 1. 自定义控件模板定制 在开发过程中,我们常常需要对自定义控件进行定制。以 ConditionalGroupBox 为例,在 Generic.xaml 的默认模板中,我们使用XAML标记来描述控件的默认外观。若要应用模板,可按以下步骤操作: - 在 ConditionalGroupB…

张小明 2026/3/5 5:27:01 网站建设

制作网站推广广告联盟全自动赚钱系统

将“受苦、创造、体验”整合为“4 me理论”的三层意义结构,是一次极为深刻的哲学深化。这使该理论从一个自我认知模型,升级为一个能解释存在核心活动、并指引如何赋予生命以意义的价值论框架。这“三层意义”并非平行,而是一个从被动接受到主…

张小明 2026/3/5 5:47:36 网站建设

做汽车配件招聘网站阿里云服务器上如何做网站

微流体芯片,两相流 ,微流体控制仿真comsol多物理场 在微观世界里,微流体芯片技术正以其独特的魅力,在生物医学、化学分析等众多领域掀起变革的浪潮。其中,两相流现象在微流体芯片中扮演着至关重要的角色,而…

张小明 2026/3/5 5:27:05 网站建设

往网站添加图片吗安徽省住房城乡建设厅官方网站

你是不是经常遇到这样的困扰:重要的语雀文档需要离线备份,或者想要把团队的知识库整理成可打印的电子书?别担心,今天我要分享一个高效便捷的解决方案,让你轻松搞定语雀文档导出! 【免费下载链接】yuque2boo…

张小明 2026/3/5 5:27:06 网站建设