libpng ubuntu?Ubuntu18

各位老铁们,大家好,今天由我来为大家分享libpng ubuntu,以及Ubuntu18的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

Ubuntu下Opencv的安装

一.安装包下载

前往 Releases- OpenCV页面,选择合适的版本下载OpenCV安装包。确保下载的opencv_contrib与主OpenCV版本一致,并将其放置在opencv文件夹内。

二、环境配置

安装基础开发包:使用 `sudo apt-get install build-essential`,然后依次安装以下依赖:`cmake`, `git`, `libgtk2.0-dev`, `pkg-config`, `libavcodec-dev`, `libavformat-dev`, `libswscale-dev`, `python-dev`, `python-numpy`, `libtbb2`, `libtbb-dev`, `libjpeg-dev`, `libpng-dev`, `libtiff-dev`, `libjasper-dev`, `libdc1394-22-dev`。

三、安装

在opencv目录下新建build文件夹。切换至build目录,并执行`sudo cmake-D CMAKE_BUILD_TYPE=Release-D CMAKE_INSTALL_PREFIX=/usr/local..`。使用`sudo make-j8`或`sudo make-j4`进行编译。完成编译后,使用`sudo make install`进行安装。接着,编辑`/etc/ld.so.conf`文件,添加`/usr/local/lib`路径,然后运行`sudo ldconfig`。最后,在`/etc/bash.bashrc`文件中添加`PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig`,并使用`source/etc/bash.bashrc`命令以应用新设置。

四、测试

在opencv/samples/cpp/example_cmake目录下,打开终端并依次执行`cmake.`, `make`,和`./opencv_example`命令。此时应能打开摄像头界面,表示安装已成功。

Linux下面使用Libpng快速呈现图片linuxlibpng

Libpng是一种开放的免费软件库,用于处理PNG图像格式,Libpng在Linux和跨平台环境中得到了广泛的使用,它也被许多应用程序/软件/图像编辑器所采用。下面介绍如何在Linux下使用Libpng快速呈现图片。

在使用Libpng之前,我们需要先安装它,我们可以通过下面的方法安装:

在Ubuntu和Debian上:

sudo apt-get install libpng-dev

在Fedora上:

sudo dnf install libpng-devel

在CentOS上:

sudo yum install libpng-devel

一旦安装好了Libpng,我们就可以开始使用它了。下面通过一个简单的例子来演示如何使用Libpng快速加载图片:

#include

#include

#include// Use libpng to load the image

int main(void)

{

FILE*fp;

png_structp png_ptr;

png_infop info_ptr;

png_bytepp row_pointers;

int color_type;

int width, height;

// Open the image

fp= fopen(“image.png”,“rb”);

if(fp== NULL){

fprintf(stderr,“Could not open the file\n”);

return-1;

}

// Read the image header to get the image information

png_ptr= png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);

if(png_ptr== NULL){

fprintf(stderr,“Could not allocate read struct\n”);

fclose(fp);

return-1;

}

// Allocate the memory to store image information

info_ptr= png_create_info_struct(png_ptr);

if(info_ptr== NULL){

fprintf(stderr,“Could not allocate info struct\n”);

png_destroy_read_struct(&png_ptr, NULL, NULL);

fclose(fp);

return-1;

}

// Set error handling if you are using the setjmp/longjmp method

if(setjmp(png_jmpbuf(png_ptr))){

png_destroy_read_struct(&png_ptr,&info_ptr, NULL);

fclose(fp);

return-1;

}

// Set up the input control for using standard C streams

png_init_io(png_ptr, fp);

// Read the information from the image

png_read_info(png_ptr, info_ptr);

// Get the image info

color_type= png_get_color_type(png_ptr, info_ptr);

width= png_get_image_width(png_ptr, info_ptr);

height= png_get_image_height(png_ptr, info_ptr);

// Allocate the memory to store the image

row_pointers=(png_bytepp)malloc(sizeof(png_bytep)* height);

for(int i= 0; i

row_pointers[i]=(png_byte*)malloc(width* sizeof(png_byte));

}

// Read the image data

png_read_image(png_ptr, row_pointers);

// Finish reading the image

png_read_end(png_ptr, info_ptr);

// Clean up

png_destroy_read_struct(&png_ptr,&info_ptr, NULL);

// Close the file

fclose(fp);

// Now you can process the image

// Clean up

for(int i= 0; i

free(row_pointers[i]);

}

free(row_pointers);

return 0;

}

以上代码可以帮助我们快速地获取图片的宽度和高度,以及颜色类型和图像数据,这样我们就可以快速地呈现图片了。这种方式能够快速、准确地显示图片,是优秀的图片处理优化工具。

总之,使用Libpng能够在Linux下快速呈现图片,安装和使用都很简单。如果你想快速地获取图片的基本信息或者提取图片中的数据,Libpng是一款不可多得的优秀软件工具。

Ubuntu无法卸载软件(libpng12-0版本过旧)

当你尝试卸载Ubuntu系统中的软件xkx时,遇到了问题,因为你安装的libpng12-0版本过旧。首先,你可以使用命令行查看已安装的xkx包:

shell

sudo apt-cache policy xkx

然而,当你尝试卸载时,系统报错。为了解决这个问题,按照错误提示尝试进行修正,但依然遇到同样的错误。此时,问题指向了libpng12-0版本不兼容。

为了解决这个冲突,你需要安装一个兼容的libpng12-0版本。首先,通过命令查找可安装的替代包:

shell

sudo apt search libpng12-0

但安装过程中依然报错。这意味着需要手动下载一个可用的libpng12-0 deb文件。你可以访问这个链接找到:Index of/linuxuprising/libpng12/ubuntu/pool/main/libp/libpng/,找到合适的deb文件。

为确保顺利,你需要按照以下顺序操作:首先下载deb文件,然后执行安装、修复和最后的卸载操作,分别使用以下命令:

shell

sudo dpkg-i libpng12-0.deb

sudo apt-get update

sudo apt-get upgrade

sudo apt-get remove--purge xkx

经过这些步骤,你应能成功地处理libpng12-0版本过旧导致的卸载问题。顺利完成任务后,你的系统应该恢复正常。

阅读剩余
THE END