天天看点

图像处理16:图像内存计算和类的内存计算图像处理16:图像内存计算和类的内存计算

图像处理16:图像内存计算和类的内存计算

(1)图像的内存计算:

         ①图像内存的计算公式:

             图像所占内存=图像分辨率*一个像素所占内存空间

         ②位深度:

             如有位深度1,则可以组成

图像处理16:图像内存计算和类的内存计算图像处理16:图像内存计算和类的内存计算

种颜色,即二值图像;

             如有位深度8,则可以组成

图像处理16:图像内存计算和类的内存计算图像处理16:图像内存计算和类的内存计算

种颜色,即为256色图像。

         ③应用举例:

             分辨率30*40,位深度为24的图像内存计算为:30*40*24/8=3600(字节);

             除8是因为1字节=8比特。

(2)c++中类的内存计算:

        ①类所占内存大小由成员变量决定(除去静态变量),与成员函数无关;

        ②空类的内存:

              由于c++要求每个实例在内存中都有独一无二的地址,并且空类也会被实例化,因此编译器为空类隐含添加一个字节。

              因此空类所占内存为1个字节。

         ③虚函数的指针:

              c++类中如果存在虚函数,那么会有一个指向虚函数的指针(32位系统中占用4个字节),与虚函数个数无关,只有一个指针。

         ④子类所占内存:

             子类大小是本身成员变量大小加上父类大小,子类与父类共享一个虚函数指针。

         ⑤类的内存对齐问题;

             如以下类,int占四个字节,char占一个字节,补齐三个字节,共12个字节。

class A
{
      int a;
      char b;
      char c;
}
           

继续阅读