1. <legend id='vocre'><style id='vocre'><dir id='vocre'><q id='vocre'></q></dir></style></legend>

    <i id='vocre'><tr id='vocre'><dt id='vocre'><q id='vocre'><span id='vocre'><b id='vocre'><form id='vocre'><ins id='vocre'></ins><ul id='vocre'></ul><sub id='vocre'></sub></form><legend id='vocre'></legend><bdo id='vocre'><pre id='vocre'><center id='vocre'></center></pre></bdo></b><th id='vocre'></th></span></q></dt></tr></i><div id='vocre'><tfoot id='vocre'></tfoot><dl id='vocre'><fieldset id='vocre'></fieldset></dl></div>
    <tfoot id='vocre'></tfoot>
    1. <small id='vocre'></small><noframes id='vocre'>

        <bdo id='vocre'></bdo><ul id='vocre'></ul>
    2. Python 实现opencv所使用的图片格式与 base64 转换

      时间:2023-12-17
      <tfoot id='HZCth'></tfoot>
      • <legend id='HZCth'><style id='HZCth'><dir id='HZCth'><q id='HZCth'></q></dir></style></legend>

          <small id='HZCth'></small><noframes id='HZCth'>

          <i id='HZCth'><tr id='HZCth'><dt id='HZCth'><q id='HZCth'><span id='HZCth'><b id='HZCth'><form id='HZCth'><ins id='HZCth'></ins><ul id='HZCth'></ul><sub id='HZCth'></sub></form><legend id='HZCth'></legend><bdo id='HZCth'><pre id='HZCth'><center id='HZCth'></center></pre></bdo></b><th id='HZCth'></th></span></q></dt></tr></i><div id='HZCth'><tfoot id='HZCth'></tfoot><dl id='HZCth'><fieldset id='HZCth'></fieldset></dl></div>

            <bdo id='HZCth'></bdo><ul id='HZCth'></ul>
                <tbody id='HZCth'></tbody>

                下面我来详细讲解一下 Python 实现 OpenCV 所使用的图片格式与 base64 转换的完整攻略。

                1. 将图片转成base64格式的字符串

                首先,我们需要将图片转成 base64 格式的字符串。这可以通过使用 Python 的 base64 模块以及 OpenCV 库来实现。代码如下:

                import cv2
                import base64
                
                # Read image
                img = cv2.imread('path/to/image.png')
                
                # Convert image to base64 string
                ret, buffer = cv2.imencode('.png', img)
                img_base64 = base64.b64encode(buffer).decode('utf-8')
                

                这里,我们首先使用 OpenCV 库中的 imread 函数读取了图片文件,并将其存储到变量 img 中。接着,我们使用 imencode 函数将图片转换为 PNG 格式的二进制数据,并将其存储到变量 buffer 中。最后,我们再使用 Python 自带的 base64 模块将二进制数据编码为 base64 格式的字符串,并将其存储到变量 img_base64 中。

                2. 将base64格式的字符串转成图片

                接下来,我们需要将 base64 格式的字符串转换成图片。这可以通过使用 Python 的 base64 模块以及 OpenCV 库来实现。代码如下:

                import cv2
                import base64
                import numpy as np
                
                # Decode base64 string to image
                img_base64 = 'base64_string_here'
                img_binary = base64.b64decode(img_base64)
                img = cv2.imdecode(np.fromstring(img_binary, dtype=np.uint8), cv2.IMREAD_COLOR)
                
                # Save image
                cv2.imwrite('path/to/output/image.png', img)
                

                这里,我们首先将之前生成的 base64 格式的字符串存储在 img_base64 变量中。接着,我们使用 Python 自带的 base64 模块将其解码为二进制数据,并将其存储在变量 img_binary 中。接下来,我们使用 OpenCV 库中的 imdecode 函数将二进制数据解码为一张图片,并将其存储在变量 img 中。最后,我们可以使用 imwrite 函数将图片保存到本地。

                示例

                现在,我们来看一下具体的示例:

                示例1:将图片转成base64格式的字符串

                我们在代码中读取一张名为 example.png 的图片并将其转换为 base64 格式的字符串。代码如下:

                import cv2
                import base64
                
                # Read image
                img = cv2.imread('example.png')
                
                # Convert image to base64 string
                ret, buffer = cv2.imencode('.png', img)
                img_base64 = base64.b64encode(buffer).decode('utf-8')
                
                # Print base64 string
                print(img_base64)
                

                输出结果如下:

                iVBORw0KGgoAAAANSUhEUgAAA8AAAAKQAIAAAANniYqAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wQBFjYJtwjbGQAAAp9JREFUaN7t3QmIXNkhxb/HnnjKa0QWMozihXJ/jxzBU4SHIbjz9AJiJmwlZ7WIgonLXsgyQ3cNTLJIzrNt57O4DU22REmjKvf58U9ujVxSukJ92JnpmQvRVu3kLGCMEwFjHNFVQo1hxzCvKMq8MSfT9col1gXzqsLEDd1kJVESNC31ymxTVUoXztMAqDLq9lj8UnDT1UWQ92OEcyEosWBqW4oDxxyWh5ExdMO43W4yM2V0vupZ6nLjj0b7A5qM5M1cq77AVYNnfyJc6vJeWBrdqXJWvWaVjB6gjPPNQklBGRcy2QkLp5LA38lzWSJdZcUhTJGLc+RGQ97XK7qEapVJYKRMlYK80sRKJkg033yo5gpq7sd7cq2ZiaHWH4m68Qm7flz+DMZ+Rrn3lu/P+KT3ZmH8RGGJmwkZ+IiU6P0yHL3y2pJZmopU8kgMCd2q0z7zNnDcqNcvHSohqg22qhh8GmD8z7k1QKlRLM1Q+ZxNtdOeyrytLh3OXqGk3jkdognxqsxFETVA5XG+CBmLSUzh2Dhh0t0ZOUBRyAC9PPFoGzTpY2eX2sSEKonsuQmKuK89ME1DO9wgB87hPMMQtmrBJRLE/Rn+2bmR2dl1Swf0GSpwDQCBE+GWcFr1orVeRC6eYh7UOjzOjQ5QcQLUD0mnLliLir8kIGRoQet2Ot4cwn+KHwwAGXxQCxdM7Dbi+PKF4bV58KnmMNyGsA/WypT/mQ8DfuL3DAZ9gpM/pLo0DPsJ0Fea3quCfXKJcTVU7kofY8E1qlF6HL7OXS0VS5dUVfQ9hneb/6yChmwVPqNQwDF/ifTaliX6KbUIkcuw1vM3ZuGh2We++0vMaWq9EdyMAAAAASUVORK5CYII=
                

                示例2:将base64格式的字符串转成图片

                我们将之前生成的 base64 格式的字符串解码成一张图片并保存到本地。代码如下:

                import cv2
                import base64
                import numpy as np
                
                # Decode base64 string to image
                img_base64 = 'base64_string_here'
                img_binary = base64.b64decode(img_base64)
                img = cv2.imdecode(np.fromstring(img_binary, dtype=np.uint8), cv2.IMREAD_COLOR)
                
                # Save image
                cv2.imwrite('example_output.png', img)
                

                这里,我们先将 img_base64 替换成之前示例1生成的 base64 格式的字符串。执行后,输出结果是将图片解码并保存到 example_output.png 文件中。

                上一篇:python通过opencv实现图片裁剪原理解析 下一篇:Python+Opencv实现图像模板匹配详解

                相关文章

                1. <tfoot id='Nl8ki'></tfoot>
                  <i id='Nl8ki'><tr id='Nl8ki'><dt id='Nl8ki'><q id='Nl8ki'><span id='Nl8ki'><b id='Nl8ki'><form id='Nl8ki'><ins id='Nl8ki'></ins><ul id='Nl8ki'></ul><sub id='Nl8ki'></sub></form><legend id='Nl8ki'></legend><bdo id='Nl8ki'><pre id='Nl8ki'><center id='Nl8ki'></center></pre></bdo></b><th id='Nl8ki'></th></span></q></dt></tr></i><div id='Nl8ki'><tfoot id='Nl8ki'></tfoot><dl id='Nl8ki'><fieldset id='Nl8ki'></fieldset></dl></div>
                  • <bdo id='Nl8ki'></bdo><ul id='Nl8ki'></ul>
                  <legend id='Nl8ki'><style id='Nl8ki'><dir id='Nl8ki'><q id='Nl8ki'></q></dir></style></legend>

                    <small id='Nl8ki'></small><noframes id='Nl8ki'>