指定img标签默认图片的方法

本文介绍了两种方法来解决学生照片显示问题:一种是利用Struts2的标签实现,适用于有照片路径的情况;另一种是使用JavaScript解决,当照片出现意外无法正常显示时,显示默认照片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里介绍两种方法(分为两种情景):

1:使用struts2的标签解决(用JSTL也差不多):

适用情景:学生照片有无照片路径值,有显示学生照片,没有就显示默认照片

<---给%{student.getSpath()}起个别名的对象,免得嵌套出错,这个对象在<s:debug/>中的stack Context中找到,所以用的时候记得前面加#-->

<s:set name="studentImagePath" value="%{student.getSpath()}" />

<s:if test="#studentImagePath != null">
     <img src="<s:property value='#studentImagePath' />" width='240' height="240" /> 
 </s:if>
 <s:else>   
     <img src='imageLoad/default.jpg' width='240' height="240" /> 

  </s:else>

2:使用javascript解决:

适用情景:学生照片有值,但是照片如果出现了意外不能正常显示,希望此时显示默认照片

 <img id="studentPhoto" src="${pageContext.request.contextPath}${student.photo}" onerror= "javascript:this.src='${pageContext.request.contextPath}/images/defaultStudentPhoto.jpg' "  width='250' height='200'/>


转自:http://blog.youkuaiyun.com/wjl_mgqs/article/details/7311653

### 使用LabelImg批量为图片添加标签方法 LabelImg 是一个功能强大的图像标注工具,广泛应用于计算机视觉领域的数据集标注。虽然 LabelImg 本身并不直接支持批量为图片添加标签的功能,但可以通过一些间接方法实现这一需求。 #### 方法一:通过修改 XML 文件批量添加标签 LabelImg 生成的标注文件通常以 XML 格式保存(Pascal VOC 格式)。可以使用 Python 脚本批量修改这些 XML 文件,为每张图片添加额外的标签[^4]。 以下是一个示例代码,展示如何批量为 XML 文件中的图片添加标签: ```python import xml.etree.ElementTree as ET import os # 定义要添加的标签名称 new_label = "additional_tag" # XML 文件所在的目录 xml_dir = "path/to/xml/files" # 遍历目录中的所有 XML 文件 for filename in os.listdir(xml_dir): if filename.endswith(".xml"): file_path = os.path.join(xml_dir, filename) # 解析 XML 文件 tree = ET.parse(file_path) root = tree.getroot() # 创建新的 object 元素 new_object = ET.SubElement(root, "object") # 添加子元素 ET.SubElement(new_object, "name").text = new_label ET.SubElement(new_object, "pose").text = "Unspecified" ET.SubElement(new_object, "truncated").text = "0" ET.SubElement(new_object, "difficult").text = "0" # 添加边界框信息(可以根据需要调整) bndbox = ET.SubElement(new_object, "bndbox") ET.SubElement(bndbox, "xmin").text = "10" ET.SubElement(bndbox, "ymin").text = "10" ET.SubElement(bndbox, "xmax").text = "50" ET.SubElement(bndbox, "ymax").text = "50" # 保存修改后的 XML 文件 tree.write(file_path) ``` 此代码会遍历指定目录中的所有 XML 文件,并为每张图片添加一个新的标签 `additional_tag`,同时定义一个默认的边界框位置[^4]。 --- #### 方法二:通过脚本批量生成 YOLO 格式的标签文件 如果使用的是 YOLO 格式的标签文件,可以编写脚本为每张图片生成对应的 `.txt` 文件,并在其中添加标签信息[^3]。 以下是一个示例代码,展示如何批量生成 YOLO 格式的标签文件: ```python import os # 图片所在的目录 image_dir = "path/to/images" # 标签类别索引(例如:0 表示 "additional_tag") label_index = 0 # 遍历目录中的所有图片文件 for filename in os.listdir(image_dir): if filename.endswith((".jpg", ".png")): image_name = os.path.splitext(filename)[0] txt_file = f"{image_dir}/{image_name}.txt" # 写入标签信息(格式:类别 置信度 中心点X 中心点Y 宽度 高度) with open(txt_file, "a") as f: f.write(f"{label_index} 0.5 0.5 0.1 0.1\n") ``` 此代码会为每张图片生成一个 `.txt` 文件,并在其中添加一个默认标签信息。用户可以根据实际需求调整中心点和边界框的大小[^3]。 --- #### 方法三:通过 LabelImg 的快捷键手动批量添加标签 虽然 LabelImg 不支持完全自动化的批量标签功能,但可以通过快捷键提高效率。例如,在标注过程中,按下 `W` 键可以选择矩形框工具,右键可以选择创建区块[^2]。结合上述脚本方法,可以显著减少手动操作的时间。 --- ### 注意事项 - 在批量修改标签时,请确保备份原始数据,以免误操作导致数据丢失。 - 如果需要对不同图片添加不同的标签,可以在脚本中加入条件判断逻辑,根据图片名称或其他特征动态生成标签信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值