【Ubuntu】解决Ubuntu 22.04开机显示器颜色(高对比度/反色)异常的问题

使用Ubuntu 22.04时强制关机了一下(make -j16把电脑搞崩了),开机后系统显示的颜色异常,类似高对比度或反色,如下图。看着很难受,字体也没办法辨认。还好之前遇到过类似的问题,应该是一个配置文件被莫名其妙修改了。
在这里插入图片描述
以下是查找问题的步骤以及解决方法:

1. 发现问题

进入Ubuntu后的颜色不正常,但是开机引导时显示的厂商LOGO却正常,说明硬件应该没问题,很可能是Ubuntu的软件设置问题。

之前遇到过这个颜色显示的问题。当时在启动rviz2时,系统提示警告:[rviz2-1] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. 其实并不影响软件使用,但是觉得很碍眼所以网上搜了解决方案:
修改/etc/gdm3/custom.conf文件,取消#WaylandEnable=false的注释,并重启系统。
当时我修改完之后,重启进系统,显示颜色就不正常了,于是又把文件改回去了,Rviz的warning也没管了。

打开终端,输入命令:

sudo vim /etc/gdm3/custom.conf

发现WaylandEnable=false设置的注释确实被取消了,难怪显示异常。。。
在这里插入图片描述

2. 修复问题

在WaylandEnable=false行的前面添加注释符号#,让这个设置被注释掉:

# WaylandEnable=false

3. 保存并重启

保存配置文件,重启系统。重启后,系统正常启动,颜色恢复正常了。
在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是用opencv.js实现反色操作的示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>OpenCV.js 反色操作</title> </head> <body> <h1>OpenCV.js 反色操作</h1> <input type="file" id="inputImage" accept="image/*"> <br> <canvas id="inputCanvas"></canvas> <br> <canvas id="outputCanvas"></canvas> <script async src="https://docs.opencv.org/master/opencv.js" onload="onOpenCvReady();" type="text/javascript"></script> <script type="text/javascript"> function onOpenCvReady() { document.getElementById('inputImage').addEventListener('change', function() { var inputImage = document.getElementById('inputImage').files[0]; var inputCanvas = document.getElementById('inputCanvas'); var outputCanvas = document.getElementById('outputCanvas'); var ctxInput = inputCanvas.getContext('2d'); var ctxOutput = outputCanvas.getContext('2d'); var img = new Image(); img.onload = function() { inputCanvas.width = img.width; inputCanvas.height = img.height; outputCanvas.width = img.width; outputCanvas.height = img.height; ctxInput.drawImage(img, 0, 0); var src = cv.imread(inputCanvas); var dst = new cv.Mat(); cv.bitwise_not(src, dst); cv.imshow(outputCanvas, dst); src.delete(); dst.delete(); }; img.src = URL.createObjectURL(inputImage); }); } </script> </body> </html> ``` 该示例代码包括一个文件选择框和两个画布,分别用于显示输入图像和输出图像。当用户选择一张图像文件后,该文件将被加载到输入画布中,然后opencv.js将读取输入画布中的像素数据,并执行反色操作,将结果显示在输出画布中。 在该示例中,反色操作通过调用cv.bitwise_not()函数来实现,该函数将输入矩阵中的每个像素值取反,并将结果存储在输出矩阵中。最后,通过调用cv.imshow()函数将输出矩阵的像素数据显示在输出画布中。 需要注意的是,在使用opencv.js时,需要先加载opencv.js库文件,该示例中使用的是官方提供的在线版本。同时,在使用cv.imread()函数读取画布像素数据时,需要传递一个canvas对象作为参数,而不是像素数据数组。最后,由于opencv.js会分配内存来存储矩阵数据,因此需要在不需要使用矩阵时调用delete()函数来释放内存。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值