你用的什么显卡?我笔记本用nvidia 9300m gs,可以在Nvidia控制面板中设置多屏显示和旋转显示器,设置双屏显示,既可以让笔记本屏幕当主屏,也可以让另外一个屏当主屏,这样实现扩展显示一点冲突也没有。NV是支持两个屏幕各自有不同的设置,应该也可以各自旋转(要不然让显示器旋转,哈!)。
A卡的话还没用过,应该也能实现。两张显卡?主板有两个插槽?或者一个集成一个独显?除非同样A卡或N卡,不然高端主板才支持混插。
试了一下nview桌面管理里面是可以设置旋转显示器,同时副显示器不会跟着旋转,这样可以满足你的需要了。你只需要购买一般带双输出接口的显卡。
图像整体任意角度旋转,就是一个像素一个像素的来的
你上面的效果是两幅图像的效果
你上面两幅图像的效果就是平常意义上的像素旋转
只不过一幅图像的时候我们用黑色区域代替 而楼主用另一个图像代替
这不矛盾
也就是说旋转超出边界的部分用第二个图像填充
就是你上面的效果
你如果编过旋转 缩放 仿射等matlab函数,你就可以很快的达到你想要的效果
想matlab里的imrotate函数 你可以自己编编实现一下
使用GDI
void CAaaView::OnDraw(CDC pDC)
{
CAaaDoc pDoc = GetDocument();
ASSERT_VALID(pDoc);
Graphics graphics( pDC->m_hDC );
Image image(L"2bmp");
Point points[] = { Point(0, 0), Point(imageGetWidth(), 0),
Point(0, imageGetHeight())};
Matrix matrix(1,0,0,1,230,10); // 定义一个单位矩阵,坐标原点在(230,10)
matrixRotate(30); // 顺时针旋转30 度
matrixScale(063,06); // X 和 Y 方向分别乘以063 和06 比例因子
matrixTransformPoints(points, 3); // 用该矩阵转换points
graphicsDrawImage(&image, points, 3);
// TODO: add draw code for native data here
}
#include "StdAfxh"
#include "cvh"
#include "highguih"
#include "mathh"
int main ()
{
IplImage src = 0;
IplImage dst = 0;
/ the first command line parameter must be image file name /
if ( (src = cvLoadImage ("d:\\Image\\minipng", -1)) != 0)
{
int delta = 1;
int angle = 0;
int opt = 0;// 1: 旋转加缩放
// 0: 仅仅旋转
double factor;
dst = cvCloneImage (src);
cvNamedWindow ("src", 1);
cvShowImage ("src", src);
for (;;)
{
float m[6];
// Matrix m looks like:
//
// [ m0 m1 m2 ] ===> [ A11 A12 b1 ]
// [ m3 m4 m5 ] [ A21 A22 b2 ]
//
CvMat M = cvMat (2, 3, CV_32F, m);
int w = src->width;
int h = src->height;
if (opt)// 旋转加缩放
factor = (cos (angle CV_PI / 180) + 10) 2;
else// 仅仅旋转
factor = 1;
m[0] = (float) (factor cos (-angle 2 CV_PI / 180));
m[1] = (float) (factor sin (-angle 2 CV_PI / 180));
m[3] = -m[1];
m[4] = m[0];
// 将旋转中心移至图像中间
m[2] = w 05f;
m[5] = h 05f;
// dst(x,y) = A src(x,y) + b
cvZero (dst);
cvGetQuadrangleSubPix (src, dst, &M);
cvNamedWindow ("dst", 1);
cvShowImage ("dst", dst);
if (cvWaitKey (1) == 27)//ESC
break;
angle = (int) (angle + delta) % 360;
}// for-loop
}
return 0;
}
参考程序如上所述,如果原始图像大小不变是无法输出到原始图像的。
比如你原始图像为200200,旋转45度,输出到一个200200的大小的图像空间里,这个原始的大小已经是原来的一半成了 根2100根2100,你要保证角点相切的话,这个原始图像的大小需要根据旋转角度的大小随时改变。
比如旋转45度,先把源图像变到100100(我说的源图像是里面有内容的图像),而你处理的图像还是200200的带着黑框的。
进行旋转之后就是切边缘了。
如果你的电脑显卡安装的驱动是不是完整版,一般用户只安装驱动核心程序,并不太安装驱动软件,也就是带辅助功能的显卡驱动程序,
如果没有安装建议下载安装后,再到显示,高级设置,在显示方向一项里,可以调输入信号的行场,360度画面转向。
“格式工厂”软件可以将视频输出成旋转90度,具体步骤如下:
1、首先,在电脑上安装好“格式工厂”软件,可以在软件商城下载,也可以直接在搜索软件上搜索。
2、下载后打开软件,打开软件后界面如下图所示。
3、选择需要旋转的视频格式,这里以MP4格式为例,点击它。
4、在d出的以下页面中选择“输出配置”。
5、在接下来的界面里,滑动下拉按钮,向下滑到底。
6、这里就可以设置旋转了,如下图,单击“旋转”,右面会出现向下的小三角箭头,单击它就可以选择向左还是向右了
完成以上步骤即可成功将视频输出成旋转90度或180度。
clc,clear;
I=imread('Penguinsjpg'); %读入
I1=rot90(I,1);%逆时针转90度
I2=rot90(I,2);%逆时针转180度
I3=rot90(I,3);%逆时针转270度
figure
subplot(2,2,1)
imshow(I);
title('原图')
subplot(2,2,2)
imshow(I1)
title('逆时针转90度')
subplot(2,2,3)
imshow(I2);
title('逆时针转180度')
subplot(2,2,4)
imshow(I3)
title('逆时针转270度')
如果要运行程序,要自己找,且放在当前路径下,且命名为Penguinsjpg
以上就是关于如何将电脑输出的vga信号旋转90度(主屏不旋转),主屏和副屏要求显示相同的图像!!全部的内容,包括:如何将电脑输出的vga信号旋转90度(主屏不旋转),主屏和副屏要求显示相同的图像!!、如何编程实现图像任意角度旋转、编好的一个C++的旋转程序怎么对图像使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)