您的位置 首页 > 数码极客

“如何得到图像的像素“如何降低图像像素… 如何把图像像素化

OpenCV及概念

图像通道

在RGB色彩模式下,指单独的红色、绿色、蓝色部分,也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的,他们共同作用产生了完整的图像。

图像像素

像素分为:数码像素与屏幕像素(或者叫物理像素,)有实实在在的物理尺寸。像素越大,分辨率越高,照片越清晰,可输出的照片尺寸也可以越大。

分辨率,又称解析度、解像度,可以细分为显示分辨率、图像分辨率、打印分辨率和扫描分辨率等。分辨率决定了位图图像细节的精细程度。

一般地,像素等于分辨率乘上尺寸,像素越高尺寸越小,图片分辨率也就越高,图像的分辨率越高看起来也越清晰。

OpenCV基本操作

1、OpenCV进行图像的读写,2、OpenCV在图像上绘制几何图像,3、OpenCV在图像添加文字、4. OpenCV获取像素值并进行修改。

上一节:计算机视觉,图像处理,OpenCV,跨平台视觉和机器学习的软件库

原图

代码案例

package com.w; import org.o.*; import org.o; import org.o; import org.o; public class OpenCVTest01 { static { // 保证先执行该语句,用于加载库 Sy); } /** * OpenCV进行图像的读写 */ public static void readAndWrite() { // 读入 Mat source = Imgcodecs.imread("D:\\demo.jpg"); // 读取图像到矩阵中 if ()) { return; } Sy()); // 3 Sy()); Sy()); // 写出 Imgcodecs.imwrite("D:\\demo2.jpg", source); } /** * OpenCV在图像上绘制几何图像 */ public static void drawForGeometric() { // 读入 Mat source = Imgcodecs.imread("D:\\demo2.jpg"); try { //画线,在图像中,从(50,50)坐标到(200,50),颜色为红色 Img(source, new Point(50, 50), new Point(1200, 500), new Scalar(255, 0, 0)); // 画矩形 Img(source, new Point(10, 10), new Point(1390, 490), new Scalar(0, 100, 255), 5); // 画圆 Img(source, new Point(500, 500), 270, new Scalar(255, 0, 255), 2); //输出图像 Imgcodecs.imwrite("D:\\demo3.jpg", source); } catch (Exception e) { e.printStackTrace(); } } /** * OpenCV在图像添加文字 */ public static void drawForString() { // 读入 Mat source = Imgcodecs.imread("D:\\demo3.jpg"); try { // 字体 Img(source, "ABCDEFG", new Point(100, 150), 3, 3.0, new Scalar(255, 0, 0)); // 字体 Img(source, "IT小奋斗", new Point(1700, 150), 5, 1.0, new Scalar(0, 255, 255)); //输出图像 Imgcodecs.imwrite("D:\\demo4.jpg", source); } catch (Exception e) { e.printStackTrace(); } } /** * OpenCV获取像素值并进行修改 */ public static void getPixelImage() { Mat source = Imgcodecs.imread("D:\\demo4.jpg"); Mat target = new Ma(), ()); //获取图像通道数 int channels = (); //用于存放像素点 double[] pixel = new double[3]; for (int i = 0, rlen = (); i < rlen; i++) { for (int j = 0, clen = (); j < clen; j++) { if (channels == 3) {//图片为3通道即平常的(B,G,R) pixel = (i, j).clone(); pixel[0] = 255 - pixel[0];//B pixel[1] = 255 - pixel[1];//G pixel[2] = 255 - pixel[2];//R (i, j, pixel); } else { //图片为单通道 (i, j, (i, j).clone()); } } } Img(source, target, new Size(() / 2, () / 2)); Hig("图片测试", target); Hig(0); //输出图像 Imgcodecs.imwrite("D:\\demo5.jpg", target); } /** * OpenCV获取像素值并进行修改 */ public static void getPixelImage2() { Mat source = Imgcodecs.imread("D:\\demo4.jpg"); Mat target = new Ma(), ()); //用于存放像素点 double[] pixel = new double[3]; for (int i = 0 ,row = (int) ().height; i < row; i++) { for (int j = 0,col = (int) ().width; j < col; j++) { pixel = (i, j).clone(); pixel[0] = 255 - pixel[0];//B pixel[1] = 255 - pixel[1];//G pixel[2] = 255 - pixel[2];//R (i, j, pixel); } } Hig("图片测试", target); Hig(0); //输出图像 Imgcodecs.imwrite("D:\\demo6.jpg", target); } public static void main(String[] args) { readAndWrite(); drawForGeometric(); drawForString(); getPixelImage2(); } }

输出效果1:

输出效果2:

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何得到图像的像素,如何降低图像像素,如何提高图像像素,如何提高图像的像素,如何修改图像像素,如何查看图像像素”边界阅读