764 次浏览
org.opencv.core.Mat 类的 convertTo() 方法对给定的矩阵执行必要的计算,以改变图像的对比度和亮度。此方法接受 4 个参数 - mat - 用于保存结果的空矩阵,其大小和类型与源矩阵相同。rtype - 指定输出矩阵类型的整数值。如果此值为负数,则类型将与源类型相同。alpha - 增益值,必须大于 0(默认值为 1)。beta - 偏差值(默认值为 0)。使用 OpenCV Java 库更改图像亮度如上所述... 阅读更多
944 次浏览
增加/减少图像的亮度和对比度可以通过转换图像的像素来实现。这可以用以下等式表示:-g(i, j) = α . f(i, j) + β其中,(i, j) 是像素的位置。α(增益)和 β(偏差)是转换的参数。有时增益参数控制图像的对比度,而偏差参数控制图像的亮度。org.opencv.core.Mat 类的 convertTo() 方法对给定的矩阵执行必要的计算,以改变对比度和亮度... 阅读更多
6K+ 次浏览
比较两张图像 - 使用 Image.IO.read() 方法读取两者。获取两者的高度和宽度以确保它们相等。获取像素值,并获取两张图像的 RGB 值。获取这两张图像的 RGB 值之间的差异之和。使用以下公式计算差异百分比:平均值 = 差异 / 宽度 * 高度 * 3;百分比 = (平均值 / 255) * 100;示例import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; public class ComparingImages { public static void main(String[] args) throws Exception { BufferedImage img1 = ImageIO.read(new File("D:\Images\test1.jpg")); BufferedImage img2 ... 阅读更多
825 次浏览
OpenCV 的 Core 类的 flip() 方法沿 x/y 轴翻转图像。此方法接受 - 包含原始图像数据的源矩阵。一个空的目标矩阵,用于保存结果图像的数据。一个翻转代码,用于指定图像的方向(0 - x 轴,+ve - y 轴,-ve 两轴)。要翻转图像 - 使用 loadLibrary() 方法加载 OpenCV 核心原生库。使用 imread() 方法将图像文件的内容读取到矩阵中。创建一个空矩阵来保存结果。通过传递... 阅读更多
389 次浏览
下面的 Java 示例在给定的图像上绘制水印(“Hello”)并将其保存回来。示例import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class WaterMarkExample { public static void main(String[] args) throws IOException { //读取图像内容 File file = new File("D:\Images\test1.jpg"); BufferedImage img = ImageIO.read(file); //创建空的输出图像 int height = img.getHeight(); int width = img.getWidth(); BufferedImage res = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); ... 阅读更多
612 次浏览
创建镜像图像使用 ImageIO.read() 方法读取所需的图像。获取图像的高度和宽度。创建一个空的缓冲图像来存储结果。使用嵌套的 for 循环遍历图像中的每个像素。从右到左迭代图像的宽度。使用 getRGB() 方法获取像素值。使用 setRGB() 方法将像素值设置到结果图像对象,替换新的宽度值。示例import java.io.File; import java.io.IOException; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class MirrorImage { public static void main(String args[])throws IOException { //读取图像 File file= ... 阅读更多
416 次浏览
将彩色图像转换为灰度。获取每个像素的红绿蓝值。获取这三种颜色的平均值。用平均值替换 RGB 值。从修改后的颜色创建新的像素值。将新值设置为像素。示例import java.io.File; import java.io.IOException; import java.awt.Color; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class Color2Grey { public static void main(String args[])throws IOException { //读取图像 File file= new File("D:\Images\car.jpg"); BufferedImage img = ImageIO.read(file); for (int y = 0; y < img.getHeight(); y++) { for ... 阅读更多
742 次浏览
将彩色图像转换为褐色的算法 - 获取每个像素的红绿蓝值。获取这三种颜色的平均值。定义深度和强度值(理想值为 20 和 30)。修改值为 - red = red + (depth * 2)。Green = green + depth。blue = blue - intensity。确保修改后的值在 0 到 255 之间。从修改后的颜色创建新的像素值,并将新值设置为像素。Java 实现使用 ImageIO.read() 方法读取所需的图像。获取图像的高度和宽度。使用嵌套的 for 循环遍历图像中的每个像素。使用... 阅读更多
458 次浏览
将负片图像转换为正片 - 使用 ImageIO.read() 方法读取所需的图像。获取图像的高度和宽度。使用嵌套的 for 循环遍历图像中的每个像素。使用 getRGB() 方法获取像素值。要从像素中检索每个值,需要将它们右移到每种颜色的起始位置,即 alpha 为 24,red 为 16 等,并执行与 0Xff 的按位与运算。这会屏蔽变量,只留下最后 8 位,并忽略其余所有位。通过从 255 中减去它们来计算新的红、绿和蓝值。重建... 阅读更多
280 次浏览
将图像转换为负片的算法获取每个像素的红绿蓝值。从 255 中减去每个颜色值并将它们保存为新的颜色值。从修改后的颜色创建新的像素值。将新值设置为像素。Java 实现使用 ImageIO.read() 方法读取所需的图像。获取图像的高度和宽度。使用嵌套的 for 循环遍历图像中的每个像素。使用 getRGB() 方法获取像素值。通过将上述检索到的像素值作为参数来创建一个 Color 对象。分别使用 getRed()、getGreen() 和 getBlue() 方法从颜色对象中获取红、绿、蓝值。计算... 阅读更多