【图像处理】JPEG Tags

JPEG Tags

This table lists information extracted by ExifTool from JPEG images.

Tag IDTag NameWritableValues / Notes
'APP0'JFIF 
JFXX 
CIFF 
AVI1 
Ocad
-
-
-
-
-
--> JFIF Tags 
--> JFIF Extension Tags 
--> CanonRaw Tags 
--> JPEG AVI1 Tags 
--> JPEG Ocad Tags
'APP1'EXIF 
ExtendedXMP 
XMP 
QVCI 
FLIR
-
-
-
-
-
--> EXIF Tags 
--> XMP Tags 
--> XMP Tags 
--> Casio QVCI Tags 
--> FLIR FFF Tags
'APP2'ICC_Profile 
FPXR 
MPF 
PreviewImage
-
-
-
no
--> ICC_Profile Tags 
--> FlashPix Tags 
--> MPF Tags 
(Samsung APP2 preview image)
'APP3'Meta 
Stim 
PreviewImage
-
-
no
--> Kodak Meta Tags 
--> Stim Tags 
(Samsung/HP preview image)
'APP4'Scalado 
FPXR 
PreviewImage
-
-
no
--> Scalado Tags 
--> FlashPix Tags 
(continued from APP3)
'APP5'RMETA 
PreviewImage
-
no
--> Ricoh RMETA Tags 
(continued from APP4)
'APP6'EPPIM 
NITF 
HP_TDHD
-
-
-
--> JPEG EPPIM Tags 
--> JPEG NITF Tags 
--> HP TDHD Tags
'APP7'Pentax 
Qualcomm
-
-
--> Pentax Tags 
--> Qualcomm Tags
'APP8'SPIFF---> JPEG SPIFF Tags
'APP9'MediaJukebox---> JPEG MediaJukebox Tags
'APP10'Commentno(PhotoStudio Unicode comment)
'APP11'JPEG-HDR---> JPEG HDR Tags
'APP12'PictureInfo 
Ducky
-
-
--> APP12 PictureInfo Tags 
--> APP12 Ducky Tags
'APP13'Photoshop 
Adobe_CM
-
-
--> Photoshop Tags 
--> JPEG AdobeCM Tags
'APP14'Adobeyes--> JPEG Adobe Tags
'APP15'GraphicConverter---> JPEG GraphConv Tags
'COM'Commentyes 
'DQT'DefineQuantizationTableno(used to calculate the Extra JPEGDigest tag value)
'SOF'StartOfFrame---> JPEG SOF Tags
'Trailer'AFCP 
CanonVRD 
FotoStation 
PhotoMechanic 
MIE 
Samsung 
PreviewImage
-
-
-
-
-
-
yes
--> AFCP Tags 
--> CanonVRD Tags 
--> FotoStation Tags 
--> PhotoMechanic Tags 
--> MIE Tags 
--> Samsung Trailer Tags

JPEG AVI1 Tags

This information may be found in APP0 of JPEG image data from AVI videos.

Index1Tag NameWritableValues / Notes
0InterleavedFieldno0 = Not Interleaved 
1 = Odd 
2 = Even

JPEG Ocad Tags

Tags extracted from the JPEG APP0 "Ocad" segment (found in Photobucket images).

Tag IDTag NameWritableValues / Notes
'Rev'OcadRevisionno 

JPEG EPPIM Tags

APP6 is used in by the Toshiba PDR-M700 to store a TIFF structure containing PrintIM information.

Tag IDTag NameWritableValues / Notes
0xc4a5PrintIMundef--> PrintIM Tags

JPEG NITF Tags

Information in APP6 used by the National Imagery Transmission Format. See http://www.gwg.nga.mil/ntb/baseline/docs/n010697/bwcguide25aug98.pdf for the official specification.

Index1Tag NameWritableValues / Notes
0NITFVersionno 
2ImageFormatno'B' = IMode B
3BlocksPerRowno 
5BlocksPerColumnno 
7ImageColorno0 = Monochrome
8BitDepthno 
9ImageClassno0 = General Purpose 
4 = Tactical Imagery
10JPEGProcessno1 = Baseline sequential DCT, Huffman coding, 8-bit samples 
4 = Extended sequential DCT, Huffman coding, 12-bit samples
11Qualityno 
12StreamColorno0 = Monochrome
13StreamBitDepthno 
14Flagsno 

JPEG SPIFF Tags

This information is found in APP8 of SPIFF-style JPEG images (the "official" yet rarely used JPEG file format standard: Still Picture Interchange File Format). See http://www.jpeg.org/public/spiff.pdf for the official specification.

Index1Tag NameWritableValues / Notes
0SPIFFVersionno 
2ProfileIDno0 = Not Specified 
1 = Continuous-tone Base 
2 = Continuous-tone Progressive 
3 = Bi-level Facsimile 
4 = Continuous-tone Facsimile
3ColorComponentsno 
6ImageHeightno(at index 4 in specification, but there are 2 extra bytes here in my only SPIFF sample, version 1.2)
10ImageWidthno 
14ColorSpaceno
0 = Bi-level 
1 = YCbCr, ITU-R BT 709, video 
2 = No color space specified 
3 = YCbCr, ITU-R BT 601-1, RGB 
4 = YCbCr, ITU-R BT 601-1, video 
8 = Gray-scale 
9 = PhotoYCC 
10 = RGB 
11 = CMY 
12 = CMYK 
13 = YCCK 
14 = CIELab
15BitsPerSampleno 
16Compressionno
0 = Uncompressed, interleaved, 8 bits per sample 
1 = Modified Huffman 
2 = Modified READ 
3 = Modified Modified READ 
4 = JBIG 
5 = JPEG
17ResolutionUnitno0 = None 
1 = inches 
2 = cm
18YResolutionno 
22XResolutionno 

JPEG MediaJukebox Tags

Tags found in the XML metadata of the "Media Jukebox" APP9 segment.

Tag NameWritableValues / Notes
Albumno 
Captionno 
Dateno 
Keywordsno 
Nameno 
Peopleno 
Placesno 
Tool_Nameno 
Tool_Versionno 

JPEG HDR Tags

Information extracted from APP11 of a JPEG-HDR image.

Tag IDTag NameWritableValues / Notes
'RatioImage'RatioImageno(the embedded JPEG-compressed ratio image)
'alp'Alphano 
'bet'Betano 
'cor'CorrectionMethodno 
'ln0'Ln0no 
'ln1'Ln1no 
's2n'S2nno 
'ver'JPEG-HDRVersionno 

JPEG AdobeCM Tags

The "Adobe_CM" APP13 segment presumably contains color management information, but the meaning of the data is currently unknown. If anyone has an idea about what this means, please let me know.

Index2Tag NameWritableValues / Notes
0AdobeCMTypeno 

JPEG Adobe Tags

The "Adobe" APP14 segment stores image encoding information for DCT filters. This segment may be copied or deleted as a block using the Extra "Adobe" tag, but note that it is not deleted by default when deleting all metadata because it may affect the appearance of the image.

Index2Tag NameWritableValues / Notes
0DCTEncodeVersionno 
1APP14Flags0no0x0 = (none) 
Bit 15 = Encoded with Blend=1 downsampling
2APP14Flags1no0x0 = (none)
3ColorTransformno0 = Unknown (RGB or CMYK) 
1 = YCbCr 
2 = YCCK

JPEG GraphConv Tags

APP15 is used by GraphicConverter to store JPEG quality.

Tag IDTag NameWritableValues / Notes
'Q'Qualityno 

JPEG SOF Tags

This information is extracted from the JPEG Start Of Frame segment.

Tag NameWritableValues / Notes
BitsPerSampleno 
ColorComponentsno 
EncodingProcessno0x0 = Baseline DCT, Huffman coding 
0x1 = Extended sequential DCT, Huffman coding 
0x2 = Progressive DCT, Huffman coding 
0x3 = Lossless, Huffman coding 
0x5 = Sequential DCT, differential Huffman coding 
0x6 = Progressive DCT, differential Huffman coding 
0x7 = Lossless, Differential Huffman coding 
0x9 = Extended sequential DCT, arithmetic coding 
0xa = Progressive DCT, arithmetic coding 
0xb = Lossless, arithmetic coding 
0xd = Sequential DCT, differential arithmetic coding 
0xe = Progressive DCT, differential arithmetic coding 
0xf = Lossless, differential arithmetic coding
ImageHeightno 
ImageWidthno 
YCbCrSubSamplingno(calculated from components table)
'1 1' = YCbCr4:4:4 (1 1) 
'1 2' = YCbCr4:4:0 (1 2) 
'1 4' = YCbCr4:4:1 (1 4) 
'2 1' = YCbCr4:2:2 (2 1) 
'2 2' = YCbCr4:2:0 (2 2) 
'2 4' = YCbCr4:2:1 (2 4) 
'4 1' = YCbCr4:1:1 (4 1) 
'4 2' = YCbCr4:1:0 (4 2)
<think>我们正在讨论电子设计竞赛中OpenMV常用的图像处理算法。根据用户提供的引用[1],其中提到了智能送药小车使用了摄像头(带处理器)和数字识别,这暗示了OpenMV在图像识别方面的应用。OpenMV是一个基于MicroPython的机器视觉模块,常用于嵌入式视觉应用。 常见的OpenMV图像处理算法包括: 1. 颜色识别:用于识别特定颜色的物体,例如巡线、色块跟踪等。 2. 模板匹配:通过预先存储的模板图像在实时图像中寻找相似区域。 3. 条形码/二维码识别:用于信息读取。 4. 人脸检测:虽然资源消耗较大,但在OpenMV上可以实现简单的人脸检测。 5. 边缘检测:用于物体轮廓提取,例如Canny边缘检测。 6. 数字识别:通过训练好的神经网络或模板匹配识别数字,常用于智能小车读取房间编号等。 7. AprilTag标记识别:一种类似于二维码的视觉基准系统,用于定位和导航。 在电子设计竞赛中,智能送药小车(如F题)就使用了数字识别来识别房间号码,并通过AprilTag进行定位。OpenMV的算法实现通常基于其内置的函数库,开发者可以调用这些库快速实现功能。 下面是一个使用OpenMV进行颜色识别的简单代码示例: ```python import sensor, image, time # 初始化摄像头 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time = 2000) # 设置颜色阈值(红色) red_threshold = (30, 100, 15, 127, 15, 127) while(True): img = sensor.snapshot() # 寻找色块 blobs = img.find_blobs([red_threshold]) if blobs: # 在最大的色块上画矩形 largest_blob = max(blobs, key=lambda b: b.pixels()) img.draw_rectangle(largest_blob.rect()) ``` §§相关问题§§ 1. 如何优化OpenMV图像处理的速度? 2. OpenMV常用的数字识别方法有哪些? 3. AprilTag标记在导航中如何应用? 4. 在光线变化环境下如何提高颜色识别的稳定性?</think>在电子设计竞赛中,OpenMV(基于MicroPython的机器视觉模块)常用于实现以下图像处理算法,结合引用[1]中提到的智能送药小车案例: ### 一、常用OpenMV图像处理算法 1. **颜色识别与跟踪** - 通过HSV色彩空间识别特定颜色物体 - 应用场景:巡线小车轨迹跟踪、色块抓取 ```python import sensor, image, time sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) red_threshold = (30, 100, 15, 127, 15, 127) # HSV阈值 while True: img = sensor.snapshot() blobs = img.find_blobs([red_threshold]) # 识别红色物体 ``` 2. **数字/字符识别** - 使用模板匹配或轻量级OCR(如Tesseract OCR精简版) - 应用场景:智能药房编号识别[^1]、仪表读数 $$ \text{识别准确率} = \frac{\text{正确识别数}}{\text{总样本数}} \times 100\% $$ 3. **AprilTag视觉标签识别** - 解码二维码变种,获取位置/方向信息 - 应用场景:室内定位、目标追踪 ```python import apriltag tags = img.find_apriltags() # 返回标签ID和位置矩阵 ``` 4. **边缘检测与轮廓识别** - Canny边缘检测 + 霍夫变换 - 应用场景:形状识别、障碍物检测 ```python edges = img.find_edges(image.EDGE_CANNY) circles = img.find_circles() ``` 5. **光流法运动检测** - Lucas-Kanade算法实现 - 应用场景:手势识别、动态目标追踪 ### 二、性能优化技巧 1. **分辨率控制** - 降低至QQVGA(160×120)提升帧率 2. **ROI区域限定** ```python sensor.set_windowing((80,60,80,60)) # 限定处理区域 ``` 3. **算法加速** - 使用`img.find_blobs()`代替手动遍历像素 - 启用JPEG压缩减少传输延迟 ### 三、典型应用场景 1. **智能小车导航**:颜色跟踪+AprilTag定位[^1] 2. **工业分拣系统**:形状/颜色多重识别 3. **智能仓储**:二维码物资管理 4. **环境监测**:仪表数字自动读取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值