*Memos:
- My post explains OxfordIIITPet().
JPEG() can randomly apply JPEG compression to an image as shown below:
*Memos:
- The 1st argument for initialization is
quality
(Required-Type:int
): *Memos:- It’s the range of the quality
[min, max]
so it must bemin <= max
. - It must be
0 <= x <= 100
. - A tuple/list must be the 1D with 2 elements.
- A single value means
[quality, quality]
.
- It’s the range of the quality
- There is the 1st argument(Required-Type:
PIL Image
ortensor
(int
(uint8
))). *A tensor must be 3D. -
v2
is recommended to use according to V1 or V2? Which one should I use?.
<span>from</span> <span>torchvision.datasets</span> <span>import</span> <span>OxfordIIITPet</span><span>from</span> <span>torchvision.transforms.v2</span> <span>import</span> <span>JPEG</span><span>jpeg</span> <span>=</span> <span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>100</span><span>)</span><span>jpeg</span><span># JPEG(quality=[100, 100]) </span><span>jpeg</span><span>.</span><span>quality</span><span># [100, 100] </span><span>origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>None</span><span>)</span><span>q100origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `q` is quality </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>100</span><span>)</span><span># transform=JPEG(quality=[100, 100]) </span><span>)</span><span>q1_100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>100</span><span>])</span><span>)</span><span>q1_50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>50</span><span>])</span><span>)</span><span>q50_100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>50</span><span>,</span> <span>100</span><span>])</span><span>)</span><span>q50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>50</span><span>)</span><span>)</span><span>q10_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>10</span><span>)</span><span>)</span><span>q5_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>5</span><span>)</span><span>)</span><span>q1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span><span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span><span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>1</span><span>)</span><span>)</span><span>import</span> <span>matplotlib.pyplot</span> <span>as</span> <span>plt</span><span>def</span> <span>show_images1</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>):</span><span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span><span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span><span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span><span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span><span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>im</span><span>)</span><span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span><span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span><span>plt</span><span>.</span><span>tight_layout</span><span>()</span><span>plt</span><span>.</span><span>show</span><span>()</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span><span>print</span><span>()</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_100_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_50_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q50_100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_100_data</span><span>"</span><span>)</span><span>print</span><span>()</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q10_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q5_data</span><span>"</span><span>)</span><span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_data</span><span>"</span><span>)</span><span># ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ </span><span>def</span> <span>show_images2</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>):</span><span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span><span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span><span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span><span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span><span>jpeg</span> <span>=</span> <span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>q</span><span>)</span><span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>jpeg</span><span>(</span><span>im</span><span>))</span><span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span><span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span><span>plt</span><span>.</span><span>tight_layout</span><span>()</span><span>plt</span><span>.</span><span>show</span><span>()</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span><span>print</span><span>()</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>)</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_100_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>100</span><span>])</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_50_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>50</span><span>])</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_100_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>50</span><span>,</span> <span>100</span><span>])</span><span>print</span><span>()</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>)</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>50</span><span>)</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q10_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>10</span><span>)</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q5_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>5</span><span>)</span><span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>1</span><span>)</span><span>from</span> <span>torchvision.datasets</span> <span>import</span> <span>OxfordIIITPet</span> <span>from</span> <span>torchvision.transforms.v2</span> <span>import</span> <span>JPEG</span> <span>jpeg</span> <span>=</span> <span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>100</span><span>)</span> <span>jpeg</span> <span># JPEG(quality=[100, 100]) </span> <span>jpeg</span><span>.</span><span>quality</span> <span># [100, 100] </span> <span>origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>None</span> <span>)</span> <span>q100origin_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span># `q` is quality </span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>100</span><span>)</span> <span># transform=JPEG(quality=[100, 100]) </span><span>)</span> <span>q1_100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>100</span><span>])</span> <span>)</span> <span>q1_50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>50</span><span>])</span> <span>)</span> <span>q50_100_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>[</span><span>50</span><span>,</span> <span>100</span><span>])</span> <span>)</span> <span>q50_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>50</span><span>)</span> <span>)</span> <span>q10_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>10</span><span>)</span> <span>)</span> <span>q5_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>5</span><span>)</span> <span>)</span> <span>q1_data</span> <span>=</span> <span>OxfordIIITPet</span><span>(</span> <span>root</span><span>=</span><span>"</span><span>data</span><span>"</span><span>,</span> <span>transform</span><span>=</span><span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>1</span><span>)</span> <span>)</span> <span>import</span> <span>matplotlib.pyplot</span> <span>as</span> <span>plt</span> <span>def</span> <span>show_images1</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>):</span> <span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span> <span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span> <span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span> <span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span> <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>im</span><span>)</span> <span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span> <span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span> <span>plt</span><span>.</span><span>tight_layout</span><span>()</span> <span>plt</span><span>.</span><span>show</span><span>()</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span> <span>print</span><span>()</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_100_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_50_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q50_100_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_100_data</span><span>"</span><span>)</span> <span>print</span><span>()</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q100origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q50_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q10_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q10_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q5_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q5_data</span><span>"</span><span>)</span> <span>show_images1</span><span>(</span><span>data</span><span>=</span><span>q1_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_data</span><span>"</span><span>)</span> <span># ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ </span><span>def</span> <span>show_images2</span><span>(</span><span>data</span><span>,</span> <span>main_title</span><span>=</span><span>None</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>):</span> <span>plt</span><span>.</span><span>figure</span><span>(</span><span>figsize</span><span>=</span><span>[</span><span>10</span><span>,</span> <span>5</span><span>])</span> <span>plt</span><span>.</span><span>suptitle</span><span>(</span><span>t</span><span>=</span><span>main_title</span><span>,</span> <span>y</span><span>=</span><span>0.8</span><span>,</span> <span>fontsize</span><span>=</span><span>14</span><span>)</span> <span>for</span> <span>i</span><span>,</span> <span>(</span><span>im</span><span>,</span> <span>_</span><span>)</span> <span>in</span> <span>zip</span><span>(</span><span>range</span><span>(</span><span>1</span><span>,</span> <span>6</span><span>),</span> <span>data</span><span>):</span> <span>plt</span><span>.</span><span>subplot</span><span>(</span><span>1</span><span>,</span> <span>5</span><span>,</span> <span>i</span><span>)</span> <span>jpeg</span> <span>=</span> <span>JPEG</span><span>(</span><span>quality</span><span>=</span><span>q</span><span>)</span> <span>plt</span><span>.</span><span>imshow</span><span>(</span><span>X</span><span>=</span><span>jpeg</span><span>(</span><span>im</span><span>))</span> <span>plt</span><span>.</span><span>xticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span> <span>plt</span><span>.</span><span>yticks</span><span>(</span><span>ticks</span><span>=</span><span>[])</span> <span>plt</span><span>.</span><span>tight_layout</span><span>()</span> <span>plt</span><span>.</span><span>show</span><span>()</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>origin_data</span><span>"</span><span>)</span> <span>print</span><span>()</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>)</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_100_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>100</span><span>])</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_50_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>1</span><span>,</span> <span>50</span><span>])</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_100_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>[</span><span>50</span><span>,</span> <span>100</span><span>])</span> <span>print</span><span>()</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q100origin_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>100</span><span>)</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q50_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>50</span><span>)</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q10_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>10</span><span>)</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q5_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>5</span><span>)</span> <span>show_images2</span><span>(</span><span>data</span><span>=</span><span>origin_data</span><span>,</span> <span>main_title</span><span>=</span><span>"</span><span>q1_data</span><span>"</span><span>,</span> <span>q</span><span>=</span><span>1</span><span>)</span>from torchvision.datasets import OxfordIIITPet from torchvision.transforms.v2 import JPEG jpeg = JPEG(quality=100) jpeg # JPEG(quality=[100, 100]) jpeg.quality # [100, 100] origin_data = OxfordIIITPet( root="data", transform=None ) q100origin_data = OxfordIIITPet( # `q` is quality root="data", transform=JPEG(quality=100) # transform=JPEG(quality=[100, 100]) ) q1_100_data = OxfordIIITPet( root="data", transform=JPEG(quality=[1, 100]) ) q1_50_data = OxfordIIITPet( root="data", transform=JPEG(quality=[1, 50]) ) q50_100_data = OxfordIIITPet( root="data", transform=JPEG(quality=[50, 100]) ) q50_data = OxfordIIITPet( root="data", transform=JPEG(quality=50) ) q10_data = OxfordIIITPet( root="data", transform=JPEG(quality=10) ) q5_data = OxfordIIITPet( root="data", transform=JPEG(quality=5) ) q1_data = OxfordIIITPet( root="data", transform=JPEG(quality=1) ) import matplotlib.pyplot as plt def show_images1(data, main_title=None): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) plt.imshow(X=im) plt.xticks(ticks=[]) plt.yticks(ticks=[]) plt.tight_layout() plt.show() show_images1(data=origin_data, main_title="origin_data") print() show_images1(data=q100origin_data, main_title="q100origin_data") show_images1(data=q1_100_data, main_title="q1_100_data") show_images1(data=q1_50_data, main_title="q1_50_data") show_images1(data=q50_100_data, main_title="q50_100_data") print() show_images1(data=q100origin_data, main_title="q100origin_data") show_images1(data=q50_data, main_title="q50_data") show_images1(data=q10_data, main_title="q10_data") show_images1(data=q5_data, main_title="q5_data") show_images1(data=q1_data, main_title="q1_data") # ↓ ↓ ↓ ↓ ↓ ↓ The code below is identical to the code above. ↓ ↓ ↓ ↓ ↓ ↓ def show_images2(data, main_title=None, q=100): plt.figure(figsize=[10, 5]) plt.suptitle(t=main_title, y=0.8, fontsize=14) for i, (im, _) in zip(range(1, 6), data): plt.subplot(1, 5, i) jpeg = JPEG(quality=q) plt.imshow(X=jpeg(im)) plt.xticks(ticks=[]) plt.yticks(ticks=[]) plt.tight_layout() plt.show() show_images2(data=origin_data, main_title="origin_data") print() show_images2(data=origin_data, main_title="q100origin_data", q=100) show_images2(data=origin_data, main_title="q1_100_data", q=[1, 100]) show_images2(data=origin_data, main_title="q1_50_data", q=[1, 50]) show_images2(data=origin_data, main_title="q50_100_data", q=[50, 100]) print() show_images2(data=origin_data, main_title="q100origin_data", q=100) show_images2(data=origin_data, main_title="q50_data", q=50) show_images2(data=origin_data, main_title="q10_data", q=10) show_images2(data=origin_data, main_title="q5_data", q=5) show_images2(data=origin_data, main_title="q1_data", q=1)
Enter fullscreen mode Exit fullscreen mode
原文链接:JPEG in PyTorch
© 版权声明
THE END
暂无评论内容